CLValueU128.java
- package com.syntifi.casper.sdk.model.clvalue;
- import com.fasterxml.jackson.annotation.JsonGetter;
- import com.fasterxml.jackson.annotation.JsonSetter;
- import com.syntifi.casper.sdk.annotation.ExcludeFromJacocoGeneratedReport;
- import com.syntifi.casper.sdk.exception.CLValueDecodeException;
- import com.syntifi.casper.sdk.exception.CLValueEncodeException;
- import com.syntifi.casper.sdk.exception.NoSuchTypeException;
- import com.syntifi.casper.sdk.model.clvalue.cltype.CLTypeU128;
- import com.syntifi.casper.sdk.model.clvalue.encdec.CLValueDecoder;
- import com.syntifi.casper.sdk.model.clvalue.encdec.CLValueEncoder;
- import lombok.EqualsAndHashCode;
- import lombok.Getter;
- import lombok.NoArgsConstructor;
- import lombok.Setter;
- import java.io.IOException;
- import java.math.BigInteger;
- /**
- * Casper U128 CLValue implementation
- *
- * @author Alexandre Carvalho
- * @author Andre Bertolace
- * @see AbstractCLValue
- * @since 0.0.1
- */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = true)
- @NoArgsConstructor
- public class CLValueU128 extends AbstractCLValue<BigInteger, CLTypeU128> {
- private CLTypeU128 clType = new CLTypeU128();
- @JsonSetter("cl_type")
- @ExcludeFromJacocoGeneratedReport
- protected void setJsonClType(CLTypeU128 clType) {
- this.clType = clType;
- }
- @JsonGetter("cl_type")
- @ExcludeFromJacocoGeneratedReport
- protected String getJsonClType() {
- return this.getClType().getTypeName();
- }
- public CLValueU128(BigInteger value) {
- this.setValue(value);
- }
- @Override
- public void encode(CLValueEncoder clve, boolean encodeType) throws IOException, CLValueEncodeException, NoSuchTypeException {
- clve.writeU128(this);
- if (encodeType) {
- this.encodeType(clve);
- }
- }
- @Override
- public void decode(CLValueDecoder clvd) throws IOException, CLValueDecodeException {
- clvd.readU128(this);
- }
- }