ActivationPoint.java

  1. package com.syntifi.casper.sdk.model.status;

  2. import com.fasterxml.jackson.annotation.JsonFormat;
  3. import com.fasterxml.jackson.annotation.JsonIgnore;
  4. import com.fasterxml.jackson.annotation.JsonProperty;
  5. import com.syntifi.casper.sdk.annotation.ExcludeFromJacocoGeneratedReport;
  6. import lombok.AllArgsConstructor;
  7. import lombok.Builder;
  8. import lombok.Getter;
  9. import lombok.NoArgsConstructor;
  10. import lombok.Setter;

  11. import java.math.BigInteger;
  12. import java.sql.Date;

  13. /**
  14.  * The first era to which the associated protocol version applies
  15.  *
  16.  * @author Alexandre Carvalho
  17.  * @author Andre Bertolace
  18.  * @since 0.0.1
  19.  */
  20. @Getter
  21. @Setter
  22. @Builder
  23. @AllArgsConstructor
  24. @NoArgsConstructor
  25. public class ActivationPoint {

  26.     /**
  27.      * Era ID
  28.      */
  29.     @JsonIgnore
  30.     private BigInteger eraId;

  31.     /**
  32.      * Timestamp formatted as per RFC 3339
  33.      */
  34.     @JsonProperty("timestamp")
  35.     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
  36.     private Date timeStamp;

  37.     @JsonProperty("era_id")
  38.     @ExcludeFromJacocoGeneratedReport
  39.     protected String getJsonEraId() {
  40.         return this.eraId.toString(10);
  41.     }

  42.     @JsonProperty("era_id")
  43.     @ExcludeFromJacocoGeneratedReport
  44.     protected void setJsonEraId(String value) {
  45.         this.eraId = new BigInteger(value, 10);
  46.     }
  47. }