ConnectedGoodsDatumItemConverter.java

package io.uverify.backend.extension.validators.converter;

import com.bloxbean.cardano.client.common.cbor.CborSerializationUtil;
import com.bloxbean.cardano.client.exception.CborRuntimeException;
import com.bloxbean.cardano.client.plutus.annotation.BasePlutusDataConverter;
import com.bloxbean.cardano.client.plutus.spec.BytesPlutusData;
import com.bloxbean.cardano.client.plutus.spec.ConstrPlutusData;
import com.bloxbean.cardano.client.util.HexUtil;
import io.uverify.backend.extension.validators.ConnectedGoodsDatumItem;
import java.lang.Exception;
import java.lang.String;
import java.util.Objects;

/**
 * Auto generated code. DO NOT MODIFY
 */
public class ConnectedGoodsDatumItemConverter extends BasePlutusDataConverter {
  public ConstrPlutusData toPlutusData(ConnectedGoodsDatumItem obj) {
    ConstrPlutusData constr = initConstr(0);
    //Field tokenName
    Objects.requireNonNull(obj.getTokenName(), "tokenName cannot be null");
    constr.getData().add(toPlutusData(obj.getTokenName()));

    //Field password
    Objects.requireNonNull(obj.getPassword(), "password cannot be null");
    constr.getData().add(toPlutusData(obj.getPassword()));

    return constr;
  }

  public ConnectedGoodsDatumItem fromPlutusData(ConstrPlutusData constr) {
    var obj = new ConnectedGoodsDatumItem();
    var data = constr.getData();

    //Field tokenName
    var tokenName = deserializeBytesToString(((BytesPlutusData)data.getPlutusDataList().get(0)).getValue(), null);
    obj.setTokenName(tokenName);

    //Field password
    var password = ((BytesPlutusData)data.getPlutusDataList().get(1)).getValue();
    obj.setPassword(password);
    return obj;
  }

  public byte[] serialize(ConnectedGoodsDatumItem obj) {
    Objects.requireNonNull(obj);;
    try {
      var constr = toPlutusData(obj);
      return CborSerializationUtil.serialize(constr.serialize());
    } catch (Exception e) {
      throw new CborRuntimeException(e);
    }
  }

  public String serializeToHex(ConnectedGoodsDatumItem obj) {
    Objects.requireNonNull(obj);;
    var constr = toPlutusData(obj);
    return constr.serializeToHex();
  }

  public ConnectedGoodsDatumItem deserialize(byte[] bytes) {
    Objects.requireNonNull(bytes);;
    try {
      var di = CborSerializationUtil.deserialize(bytes);
      var constr = ConstrPlutusData.deserialize(di);
      return fromPlutusData(constr);
    } catch (Exception e) {
      throw new CborRuntimeException(e);
    }
  }

  public ConnectedGoodsDatumItem deserialize(String hex) {
    Objects.requireNonNull(hex);;
    var bytes = HexUtil.decodeHexString(hex);
    return deserialize(bytes);
  }
}