SocialHubDatumConverter.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.plutus.spec.ListPlutusData;
import com.bloxbean.cardano.client.util.HexUtil;
import io.uverify.backend.extension.validators.SocialHubDatum;
import java.lang.Exception;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
/**
* Auto generated code. DO NOT MODIFY
*/
public class SocialHubDatumConverter extends BasePlutusDataConverter {
public ConstrPlutusData toPlutusData(SocialHubDatum obj) {
ConstrPlutusData constr = initConstr(0);
//Field owner
Objects.requireNonNull(obj.getOwner(), "owner cannot be null");
constr.getData().add(toPlutusData(obj.getOwner()));
//Field batchId
Objects.requireNonNull(obj.getBatchId(), "batchId cannot be null");
constr.getData().add(toPlutusData(obj.getBatchId()));
//Field picture
Objects.requireNonNull(obj.getPicture(), "picture cannot be null");
if(obj.getPicture().isEmpty()) {
var pictureConstr = ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
constr.getData().add(pictureConstr);
} else {
var picture_$nested=toPlutusData(obj.getPicture().get());var pictureConstr = ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of(picture_$nested)).build();
constr.getData().add(pictureConstr);
}
//Field name
Objects.requireNonNull(obj.getName(), "name cannot be null");
if(obj.getName().isEmpty()) {
var nameConstr = ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
constr.getData().add(nameConstr);
} else {
var name_$nested=toPlutusData(obj.getName().get());var nameConstr = ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of(name_$nested)).build();
constr.getData().add(nameConstr);
}
//Field subtitle
Objects.requireNonNull(obj.getSubtitle(), "subtitle cannot be null");
if(obj.getSubtitle().isEmpty()) {
var subtitleConstr = ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
constr.getData().add(subtitleConstr);
} else {
var subtitle_$nested=toPlutusData(obj.getSubtitle().get());var subtitleConstr = ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of(subtitle_$nested)).build();
constr.getData().add(subtitleConstr);
}
//Field x
Objects.requireNonNull(obj.getX(), "x cannot be null");
if(obj.getX().isEmpty()) {
var xConstr = ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
constr.getData().add(xConstr);
} else {
var x_$nested=toPlutusData(obj.getX().get());var xConstr = ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of(x_$nested)).build();
constr.getData().add(xConstr);
}
//Field telegram
Objects.requireNonNull(obj.getTelegram(), "telegram cannot be null");
if(obj.getTelegram().isEmpty()) {
var telegramConstr = ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
constr.getData().add(telegramConstr);
} else {
var telegram_$nested=toPlutusData(obj.getTelegram().get());var telegramConstr = ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of(telegram_$nested)).build();
constr.getData().add(telegramConstr);
}
//Field instagram
Objects.requireNonNull(obj.getInstagram(), "instagram cannot be null");
if(obj.getInstagram().isEmpty()) {
var instagramConstr = ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
constr.getData().add(instagramConstr);
} else {
var instagram_$nested=toPlutusData(obj.getInstagram().get());var instagramConstr = ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of(instagram_$nested)).build();
constr.getData().add(instagramConstr);
}
//Field discord
Objects.requireNonNull(obj.getDiscord(), "discord cannot be null");
if(obj.getDiscord().isEmpty()) {
var discordConstr = ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
constr.getData().add(discordConstr);
} else {
var discord_$nested=toPlutusData(obj.getDiscord().get());var discordConstr = ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of(discord_$nested)).build();
constr.getData().add(discordConstr);
}
//Field reddit
Objects.requireNonNull(obj.getReddit(), "reddit cannot be null");
if(obj.getReddit().isEmpty()) {
var redditConstr = ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
constr.getData().add(redditConstr);
} else {
var reddit_$nested=toPlutusData(obj.getReddit().get());var redditConstr = ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of(reddit_$nested)).build();
constr.getData().add(redditConstr);
}
//Field youtube
Objects.requireNonNull(obj.getYoutube(), "youtube cannot be null");
if(obj.getYoutube().isEmpty()) {
var youtubeConstr = ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
constr.getData().add(youtubeConstr);
} else {
var youtube_$nested=toPlutusData(obj.getYoutube().get());var youtubeConstr = ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of(youtube_$nested)).build();
constr.getData().add(youtubeConstr);
}
//Field linkedin
Objects.requireNonNull(obj.getLinkedin(), "linkedin cannot be null");
if(obj.getLinkedin().isEmpty()) {
var linkedinConstr = ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
constr.getData().add(linkedinConstr);
} else {
var linkedin_$nested=toPlutusData(obj.getLinkedin().get());var linkedinConstr = ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of(linkedin_$nested)).build();
constr.getData().add(linkedinConstr);
}
//Field github
Objects.requireNonNull(obj.getGithub(), "github cannot be null");
if(obj.getGithub().isEmpty()) {
var githubConstr = ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
constr.getData().add(githubConstr);
} else {
var github_$nested=toPlutusData(obj.getGithub().get());var githubConstr = ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of(github_$nested)).build();
constr.getData().add(githubConstr);
}
//Field website
Objects.requireNonNull(obj.getWebsite(), "website cannot be null");
if(obj.getWebsite().isEmpty()) {
var websiteConstr = ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
constr.getData().add(websiteConstr);
} else {
var website_$nested=toPlutusData(obj.getWebsite().get());var websiteConstr = ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of(website_$nested)).build();
constr.getData().add(websiteConstr);
}
//Field adahandle
Objects.requireNonNull(obj.getAdahandle(), "adahandle cannot be null");
if(obj.getAdahandle().isEmpty()) {
var adahandleConstr = ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
constr.getData().add(adahandleConstr);
} else {
var adahandle_$nested=toPlutusData(obj.getAdahandle().get());var adahandleConstr = ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of(adahandle_$nested)).build();
constr.getData().add(adahandleConstr);
}
//Field email
Objects.requireNonNull(obj.getEmail(), "email cannot be null");
if(obj.getEmail().isEmpty()) {
var emailConstr = ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
constr.getData().add(emailConstr);
} else {
var email_$nested=toPlutusData(obj.getEmail().get());var emailConstr = ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of(email_$nested)).build();
constr.getData().add(emailConstr);
}
return constr;
}
public SocialHubDatum fromPlutusData(ConstrPlutusData constr) {
var obj = new SocialHubDatum();
var data = constr.getData();
//Field owner
var owner = ((BytesPlutusData)data.getPlutusDataList().get(0)).getValue();
obj.setOwner(owner);
//Field batchId
var batchId = ((BytesPlutusData)data.getPlutusDataList().get(1)).getValue();
obj.setBatchId(batchId);
//Field picture
java.util.Optional<byte[]> picture = null;
var pictureConstr = (ConstrPlutusData)data.getPlutusDataList().get(2);
if(pictureConstr.getAlternative() == 1) {
picture = Optional.empty();
} else {
var picturePlutusData = pictureConstr.getData().getPlutusDataList().get(0);
var picture_$nested=plutusDataToBytes(picturePlutusData);;
picture = Optional.ofNullable(picture_$nested);
}
obj.setPicture(picture);
//Field name
java.util.Optional<byte[]> name = null;
var nameConstr = (ConstrPlutusData)data.getPlutusDataList().get(3);
if(nameConstr.getAlternative() == 1) {
name = Optional.empty();
} else {
var namePlutusData = nameConstr.getData().getPlutusDataList().get(0);
var name_$nested=plutusDataToBytes(namePlutusData);;
name = Optional.ofNullable(name_$nested);
}
obj.setName(name);
//Field subtitle
java.util.Optional<byte[]> subtitle = null;
var subtitleConstr = (ConstrPlutusData)data.getPlutusDataList().get(4);
if(subtitleConstr.getAlternative() == 1) {
subtitle = Optional.empty();
} else {
var subtitlePlutusData = subtitleConstr.getData().getPlutusDataList().get(0);
var subtitle_$nested=plutusDataToBytes(subtitlePlutusData);;
subtitle = Optional.ofNullable(subtitle_$nested);
}
obj.setSubtitle(subtitle);
//Field x
java.util.Optional<byte[]> x = null;
var xConstr = (ConstrPlutusData)data.getPlutusDataList().get(5);
if(xConstr.getAlternative() == 1) {
x = Optional.empty();
} else {
var xPlutusData = xConstr.getData().getPlutusDataList().get(0);
var x_$nested=plutusDataToBytes(xPlutusData);;
x = Optional.ofNullable(x_$nested);
}
obj.setX(x);
//Field telegram
java.util.Optional<byte[]> telegram = null;
var telegramConstr = (ConstrPlutusData)data.getPlutusDataList().get(6);
if(telegramConstr.getAlternative() == 1) {
telegram = Optional.empty();
} else {
var telegramPlutusData = telegramConstr.getData().getPlutusDataList().get(0);
var telegram_$nested=plutusDataToBytes(telegramPlutusData);;
telegram = Optional.ofNullable(telegram_$nested);
}
obj.setTelegram(telegram);
//Field instagram
java.util.Optional<byte[]> instagram = null;
var instagramConstr = (ConstrPlutusData)data.getPlutusDataList().get(7);
if(instagramConstr.getAlternative() == 1) {
instagram = Optional.empty();
} else {
var instagramPlutusData = instagramConstr.getData().getPlutusDataList().get(0);
var instagram_$nested=plutusDataToBytes(instagramPlutusData);;
instagram = Optional.ofNullable(instagram_$nested);
}
obj.setInstagram(instagram);
//Field discord
java.util.Optional<byte[]> discord = null;
var discordConstr = (ConstrPlutusData)data.getPlutusDataList().get(8);
if(discordConstr.getAlternative() == 1) {
discord = Optional.empty();
} else {
var discordPlutusData = discordConstr.getData().getPlutusDataList().get(0);
var discord_$nested=plutusDataToBytes(discordPlutusData);;
discord = Optional.ofNullable(discord_$nested);
}
obj.setDiscord(discord);
//Field reddit
java.util.Optional<byte[]> reddit = null;
var redditConstr = (ConstrPlutusData)data.getPlutusDataList().get(9);
if(redditConstr.getAlternative() == 1) {
reddit = Optional.empty();
} else {
var redditPlutusData = redditConstr.getData().getPlutusDataList().get(0);
var reddit_$nested=plutusDataToBytes(redditPlutusData);;
reddit = Optional.ofNullable(reddit_$nested);
}
obj.setReddit(reddit);
//Field youtube
java.util.Optional<byte[]> youtube = null;
var youtubeConstr = (ConstrPlutusData)data.getPlutusDataList().get(10);
if(youtubeConstr.getAlternative() == 1) {
youtube = Optional.empty();
} else {
var youtubePlutusData = youtubeConstr.getData().getPlutusDataList().get(0);
var youtube_$nested=plutusDataToBytes(youtubePlutusData);;
youtube = Optional.ofNullable(youtube_$nested);
}
obj.setYoutube(youtube);
//Field linkedin
java.util.Optional<byte[]> linkedin = null;
var linkedinConstr = (ConstrPlutusData)data.getPlutusDataList().get(11);
if(linkedinConstr.getAlternative() == 1) {
linkedin = Optional.empty();
} else {
var linkedinPlutusData = linkedinConstr.getData().getPlutusDataList().get(0);
var linkedin_$nested=plutusDataToBytes(linkedinPlutusData);;
linkedin = Optional.ofNullable(linkedin_$nested);
}
obj.setLinkedin(linkedin);
//Field github
java.util.Optional<byte[]> github = null;
var githubConstr = (ConstrPlutusData)data.getPlutusDataList().get(12);
if(githubConstr.getAlternative() == 1) {
github = Optional.empty();
} else {
var githubPlutusData = githubConstr.getData().getPlutusDataList().get(0);
var github_$nested=plutusDataToBytes(githubPlutusData);;
github = Optional.ofNullable(github_$nested);
}
obj.setGithub(github);
//Field website
java.util.Optional<byte[]> website = null;
var websiteConstr = (ConstrPlutusData)data.getPlutusDataList().get(13);
if(websiteConstr.getAlternative() == 1) {
website = Optional.empty();
} else {
var websitePlutusData = websiteConstr.getData().getPlutusDataList().get(0);
var website_$nested=plutusDataToBytes(websitePlutusData);;
website = Optional.ofNullable(website_$nested);
}
obj.setWebsite(website);
//Field adahandle
java.util.Optional<byte[]> adahandle = null;
var adahandleConstr = (ConstrPlutusData)data.getPlutusDataList().get(14);
if(adahandleConstr.getAlternative() == 1) {
adahandle = Optional.empty();
} else {
var adahandlePlutusData = adahandleConstr.getData().getPlutusDataList().get(0);
var adahandle_$nested=plutusDataToBytes(adahandlePlutusData);;
adahandle = Optional.ofNullable(adahandle_$nested);
}
obj.setAdahandle(adahandle);
//Field email
java.util.Optional<byte[]> email = null;
var emailConstr = (ConstrPlutusData)data.getPlutusDataList().get(15);
if(emailConstr.getAlternative() == 1) {
email = Optional.empty();
} else {
var emailPlutusData = emailConstr.getData().getPlutusDataList().get(0);
var email_$nested=plutusDataToBytes(emailPlutusData);;
email = Optional.ofNullable(email_$nested);
}
obj.setEmail(email);
return obj;
}
public byte[] serialize(SocialHubDatum obj) {
Objects.requireNonNull(obj);;
try {
var constr = toPlutusData(obj);
return CborSerializationUtil.serialize(constr.serialize());
} catch (Exception e) {
throw new CborRuntimeException(e);
}
}
public String serializeToHex(SocialHubDatum obj) {
Objects.requireNonNull(obj);;
var constr = toPlutusData(obj);
return constr.serializeToHex();
}
public SocialHubDatum 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 SocialHubDatum deserialize(String hex) {
Objects.requireNonNull(hex);;
var bytes = HexUtil.decodeHexString(hex);
return deserialize(bytes);
}
}