All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.rosetta.jptlegalagreement.model.Csa2016 Maven / Gradle / Ivy

There is a newer version: 11.25.1
Show newest version
package com.rosetta.jptlegalagreement.model;

import com.rosetta.jptlegalagreement.model.AdditionalRepresentation;
import com.rosetta.jptlegalagreement.model.ConditionsPrecedent;
import com.rosetta.jptlegalagreement.model.ContactElection;
import com.rosetta.jptlegalagreement.model.Csa2016;
import com.rosetta.jptlegalagreement.model.Csa2016.Csa2016Builder;
import com.rosetta.jptlegalagreement.model.Csa2016.Csa2016BuilderImpl;
import com.rosetta.jptlegalagreement.model.Csa2016.Csa2016Impl;
import com.rosetta.jptlegalagreement.model.DisputeResolution;
import com.rosetta.jptlegalagreement.model.Substitution;
import com.rosetta.jptlegalagreement.model.meta.Csa2016Meta;
import com.rosetta.model.lib.RosettaModelObject;
import com.rosetta.model.lib.RosettaModelObjectBuilder;
import com.rosetta.model.lib.annotations.RosettaAttribute;
import com.rosetta.model.lib.annotations.RosettaDataType;
import com.rosetta.model.lib.meta.RosettaMetaData;
import com.rosetta.model.lib.path.RosettaPath;
import com.rosetta.model.lib.process.BuilderMerger;
import com.rosetta.model.lib.process.BuilderProcessor;
import com.rosetta.model.lib.process.Processor;
import com.rosetta.model.metafields.FieldWithMetaString;
import com.rosetta.model.metafields.FieldWithMetaString.FieldWithMetaStringBuilder;
import java.util.Objects;

import static java.util.Optional.ofNullable;

/**
 * @version test
 */
@RosettaDataType(value="Csa2016", builder=Csa2016.Csa2016BuilderImpl.class, version="test")
public interface Csa2016 extends RosettaModelObject {

	Csa2016Meta metaData = new Csa2016Meta();

	/*********************** Getter Methods  ***********************/
	FieldWithMetaString getBaseCurrency();
	String getAdditionalObligations();
	ConditionsPrecedent getConditionsPrecedent();
	Substitution getSubstitution();
	DisputeResolution getDisputeResolution();
	AdditionalRepresentation getAdditionalRepresentation();
	ContactElection getDemandsAndNotices();
	ContactElection getAddressesForTransfer();
	String getBespokeProvision();

	/*********************** Build Methods  ***********************/
	Csa2016 build();
	
	Csa2016.Csa2016Builder toBuilder();
	
	static Csa2016.Csa2016Builder builder() {
		return new Csa2016.Csa2016BuilderImpl();
	}

	/*********************** Utility Methods  ***********************/
	@Override
	default RosettaMetaData metaData() {
		return metaData;
	}
	
	@Override
	default Class getType() {
		return Csa2016.class;
	}
	
	
	@Override
	default void process(RosettaPath path, Processor processor) {
		processRosetta(path.newSubPath("baseCurrency"), processor, FieldWithMetaString.class, getBaseCurrency());
		processor.processBasic(path.newSubPath("additionalObligations"), String.class, getAdditionalObligations(), this);
		processRosetta(path.newSubPath("conditionsPrecedent"), processor, ConditionsPrecedent.class, getConditionsPrecedent());
		processRosetta(path.newSubPath("substitution"), processor, Substitution.class, getSubstitution());
		processRosetta(path.newSubPath("disputeResolution"), processor, DisputeResolution.class, getDisputeResolution());
		processRosetta(path.newSubPath("additionalRepresentation"), processor, AdditionalRepresentation.class, getAdditionalRepresentation());
		processRosetta(path.newSubPath("demandsAndNotices"), processor, ContactElection.class, getDemandsAndNotices());
		processRosetta(path.newSubPath("addressesForTransfer"), processor, ContactElection.class, getAddressesForTransfer());
		processor.processBasic(path.newSubPath("bespokeProvision"), String.class, getBespokeProvision(), this);
	}
	

	/*********************** Builder Interface  ***********************/
	interface Csa2016Builder extends Csa2016, RosettaModelObjectBuilder {
		FieldWithMetaString.FieldWithMetaStringBuilder getOrCreateBaseCurrency();
		FieldWithMetaString.FieldWithMetaStringBuilder getBaseCurrency();
		ConditionsPrecedent.ConditionsPrecedentBuilder getOrCreateConditionsPrecedent();
		ConditionsPrecedent.ConditionsPrecedentBuilder getConditionsPrecedent();
		Substitution.SubstitutionBuilder getOrCreateSubstitution();
		Substitution.SubstitutionBuilder getSubstitution();
		DisputeResolution.DisputeResolutionBuilder getOrCreateDisputeResolution();
		DisputeResolution.DisputeResolutionBuilder getDisputeResolution();
		AdditionalRepresentation.AdditionalRepresentationBuilder getOrCreateAdditionalRepresentation();
		AdditionalRepresentation.AdditionalRepresentationBuilder getAdditionalRepresentation();
		ContactElection.ContactElectionBuilder getOrCreateDemandsAndNotices();
		ContactElection.ContactElectionBuilder getDemandsAndNotices();
		ContactElection.ContactElectionBuilder getOrCreateAddressesForTransfer();
		ContactElection.ContactElectionBuilder getAddressesForTransfer();
		Csa2016.Csa2016Builder setBaseCurrency(FieldWithMetaString baseCurrency0);
		Csa2016.Csa2016Builder setBaseCurrencyValue(String baseCurrency1);
		Csa2016.Csa2016Builder setAdditionalObligations(String additionalObligations);
		Csa2016.Csa2016Builder setConditionsPrecedent(ConditionsPrecedent conditionsPrecedent);
		Csa2016.Csa2016Builder setSubstitution(Substitution substitution);
		Csa2016.Csa2016Builder setDisputeResolution(DisputeResolution disputeResolution);
		Csa2016.Csa2016Builder setAdditionalRepresentation(AdditionalRepresentation additionalRepresentation);
		Csa2016.Csa2016Builder setDemandsAndNotices(ContactElection demandsAndNotices);
		Csa2016.Csa2016Builder setAddressesForTransfer(ContactElection addressesForTransfer);
		Csa2016.Csa2016Builder setBespokeProvision(String bespokeProvision);

		@Override
		default void process(RosettaPath path, BuilderProcessor processor) {
			processRosetta(path.newSubPath("baseCurrency"), processor, FieldWithMetaString.FieldWithMetaStringBuilder.class, getBaseCurrency());
			processor.processBasic(path.newSubPath("additionalObligations"), String.class, getAdditionalObligations(), this);
			processRosetta(path.newSubPath("conditionsPrecedent"), processor, ConditionsPrecedent.ConditionsPrecedentBuilder.class, getConditionsPrecedent());
			processRosetta(path.newSubPath("substitution"), processor, Substitution.SubstitutionBuilder.class, getSubstitution());
			processRosetta(path.newSubPath("disputeResolution"), processor, DisputeResolution.DisputeResolutionBuilder.class, getDisputeResolution());
			processRosetta(path.newSubPath("additionalRepresentation"), processor, AdditionalRepresentation.AdditionalRepresentationBuilder.class, getAdditionalRepresentation());
			processRosetta(path.newSubPath("demandsAndNotices"), processor, ContactElection.ContactElectionBuilder.class, getDemandsAndNotices());
			processRosetta(path.newSubPath("addressesForTransfer"), processor, ContactElection.ContactElectionBuilder.class, getAddressesForTransfer());
			processor.processBasic(path.newSubPath("bespokeProvision"), String.class, getBespokeProvision(), this);
		}
		

		Csa2016.Csa2016Builder prune();
	}

	/*********************** Immutable Implementation of Csa2016  ***********************/
	class Csa2016Impl implements Csa2016 {
		private final FieldWithMetaString baseCurrency;
		private final String additionalObligations;
		private final ConditionsPrecedent conditionsPrecedent;
		private final Substitution substitution;
		private final DisputeResolution disputeResolution;
		private final AdditionalRepresentation additionalRepresentation;
		private final ContactElection demandsAndNotices;
		private final ContactElection addressesForTransfer;
		private final String bespokeProvision;
		
		protected Csa2016Impl(Csa2016.Csa2016Builder builder) {
			this.baseCurrency = ofNullable(builder.getBaseCurrency()).map(f->f.build()).orElse(null);
			this.additionalObligations = builder.getAdditionalObligations();
			this.conditionsPrecedent = ofNullable(builder.getConditionsPrecedent()).map(f->f.build()).orElse(null);
			this.substitution = ofNullable(builder.getSubstitution()).map(f->f.build()).orElse(null);
			this.disputeResolution = ofNullable(builder.getDisputeResolution()).map(f->f.build()).orElse(null);
			this.additionalRepresentation = ofNullable(builder.getAdditionalRepresentation()).map(f->f.build()).orElse(null);
			this.demandsAndNotices = ofNullable(builder.getDemandsAndNotices()).map(f->f.build()).orElse(null);
			this.addressesForTransfer = ofNullable(builder.getAddressesForTransfer()).map(f->f.build()).orElse(null);
			this.bespokeProvision = builder.getBespokeProvision();
		}
		
		@Override
		@RosettaAttribute("baseCurrency")
		public FieldWithMetaString getBaseCurrency() {
			return baseCurrency;
		}
		
		@Override
		@RosettaAttribute("additionalObligations")
		public String getAdditionalObligations() {
			return additionalObligations;
		}
		
		@Override
		@RosettaAttribute("conditionsPrecedent")
		public ConditionsPrecedent getConditionsPrecedent() {
			return conditionsPrecedent;
		}
		
		@Override
		@RosettaAttribute("substitution")
		public Substitution getSubstitution() {
			return substitution;
		}
		
		@Override
		@RosettaAttribute("disputeResolution")
		public DisputeResolution getDisputeResolution() {
			return disputeResolution;
		}
		
		@Override
		@RosettaAttribute("additionalRepresentation")
		public AdditionalRepresentation getAdditionalRepresentation() {
			return additionalRepresentation;
		}
		
		@Override
		@RosettaAttribute("demandsAndNotices")
		public ContactElection getDemandsAndNotices() {
			return demandsAndNotices;
		}
		
		@Override
		@RosettaAttribute("addressesForTransfer")
		public ContactElection getAddressesForTransfer() {
			return addressesForTransfer;
		}
		
		@Override
		@RosettaAttribute("bespokeProvision")
		public String getBespokeProvision() {
			return bespokeProvision;
		}
		
		@Override
		public Csa2016 build() {
			return this;
		}
		
		@Override
		public Csa2016.Csa2016Builder toBuilder() {
			Csa2016.Csa2016Builder builder = builder();
			setBuilderFields(builder);
			return builder;
		}
		
		protected void setBuilderFields(Csa2016.Csa2016Builder builder) {
			ofNullable(getBaseCurrency()).ifPresent(builder::setBaseCurrency);
			ofNullable(getAdditionalObligations()).ifPresent(builder::setAdditionalObligations);
			ofNullable(getConditionsPrecedent()).ifPresent(builder::setConditionsPrecedent);
			ofNullable(getSubstitution()).ifPresent(builder::setSubstitution);
			ofNullable(getDisputeResolution()).ifPresent(builder::setDisputeResolution);
			ofNullable(getAdditionalRepresentation()).ifPresent(builder::setAdditionalRepresentation);
			ofNullable(getDemandsAndNotices()).ifPresent(builder::setDemandsAndNotices);
			ofNullable(getAddressesForTransfer()).ifPresent(builder::setAddressesForTransfer);
			ofNullable(getBespokeProvision()).ifPresent(builder::setBespokeProvision);
		}

		@Override
		public boolean equals(Object o) {
			if (this == o) return true;
			if (o == null || !(o instanceof RosettaModelObject) || !getType().equals(((RosettaModelObject)o).getType())) return false;
		
			Csa2016 _that = getType().cast(o);
		
			if (!Objects.equals(baseCurrency, _that.getBaseCurrency())) return false;
			if (!Objects.equals(additionalObligations, _that.getAdditionalObligations())) return false;
			if (!Objects.equals(conditionsPrecedent, _that.getConditionsPrecedent())) return false;
			if (!Objects.equals(substitution, _that.getSubstitution())) return false;
			if (!Objects.equals(disputeResolution, _that.getDisputeResolution())) return false;
			if (!Objects.equals(additionalRepresentation, _that.getAdditionalRepresentation())) return false;
			if (!Objects.equals(demandsAndNotices, _that.getDemandsAndNotices())) return false;
			if (!Objects.equals(addressesForTransfer, _that.getAddressesForTransfer())) return false;
			if (!Objects.equals(bespokeProvision, _that.getBespokeProvision())) return false;
			return true;
		}
		
		@Override
		public int hashCode() {
			int _result = 0;
			_result = 31 * _result + (baseCurrency != null ? baseCurrency.hashCode() : 0);
			_result = 31 * _result + (additionalObligations != null ? additionalObligations.hashCode() : 0);
			_result = 31 * _result + (conditionsPrecedent != null ? conditionsPrecedent.hashCode() : 0);
			_result = 31 * _result + (substitution != null ? substitution.hashCode() : 0);
			_result = 31 * _result + (disputeResolution != null ? disputeResolution.hashCode() : 0);
			_result = 31 * _result + (additionalRepresentation != null ? additionalRepresentation.hashCode() : 0);
			_result = 31 * _result + (demandsAndNotices != null ? demandsAndNotices.hashCode() : 0);
			_result = 31 * _result + (addressesForTransfer != null ? addressesForTransfer.hashCode() : 0);
			_result = 31 * _result + (bespokeProvision != null ? bespokeProvision.hashCode() : 0);
			return _result;
		}
		
		@Override
		public String toString() {
			return "Csa2016 {" +
				"baseCurrency=" + this.baseCurrency + ", " +
				"additionalObligations=" + this.additionalObligations + ", " +
				"conditionsPrecedent=" + this.conditionsPrecedent + ", " +
				"substitution=" + this.substitution + ", " +
				"disputeResolution=" + this.disputeResolution + ", " +
				"additionalRepresentation=" + this.additionalRepresentation + ", " +
				"demandsAndNotices=" + this.demandsAndNotices + ", " +
				"addressesForTransfer=" + this.addressesForTransfer + ", " +
				"bespokeProvision=" + this.bespokeProvision +
			'}';
		}
	}

	/*********************** Builder Implementation of Csa2016  ***********************/
	class Csa2016BuilderImpl implements Csa2016.Csa2016Builder {
	
		protected FieldWithMetaString.FieldWithMetaStringBuilder baseCurrency;
		protected String additionalObligations;
		protected ConditionsPrecedent.ConditionsPrecedentBuilder conditionsPrecedent;
		protected Substitution.SubstitutionBuilder substitution;
		protected DisputeResolution.DisputeResolutionBuilder disputeResolution;
		protected AdditionalRepresentation.AdditionalRepresentationBuilder additionalRepresentation;
		protected ContactElection.ContactElectionBuilder demandsAndNotices;
		protected ContactElection.ContactElectionBuilder addressesForTransfer;
		protected String bespokeProvision;
	
		public Csa2016BuilderImpl() {
		}
	
		@Override
		@RosettaAttribute("baseCurrency")
		public FieldWithMetaString.FieldWithMetaStringBuilder getBaseCurrency() {
			return baseCurrency;
		}
		
		@Override
		public FieldWithMetaString.FieldWithMetaStringBuilder getOrCreateBaseCurrency() {
			FieldWithMetaString.FieldWithMetaStringBuilder result;
			if (baseCurrency!=null) {
				result = baseCurrency;
			}
			else {
				result = baseCurrency = FieldWithMetaString.builder();
			}
			
			return result;
		}
		
		@Override
		@RosettaAttribute("additionalObligations")
		public String getAdditionalObligations() {
			return additionalObligations;
		}
		
		@Override
		@RosettaAttribute("conditionsPrecedent")
		public ConditionsPrecedent.ConditionsPrecedentBuilder getConditionsPrecedent() {
			return conditionsPrecedent;
		}
		
		@Override
		public ConditionsPrecedent.ConditionsPrecedentBuilder getOrCreateConditionsPrecedent() {
			ConditionsPrecedent.ConditionsPrecedentBuilder result;
			if (conditionsPrecedent!=null) {
				result = conditionsPrecedent;
			}
			else {
				result = conditionsPrecedent = ConditionsPrecedent.builder();
			}
			
			return result;
		}
		
		@Override
		@RosettaAttribute("substitution")
		public Substitution.SubstitutionBuilder getSubstitution() {
			return substitution;
		}
		
		@Override
		public Substitution.SubstitutionBuilder getOrCreateSubstitution() {
			Substitution.SubstitutionBuilder result;
			if (substitution!=null) {
				result = substitution;
			}
			else {
				result = substitution = Substitution.builder();
			}
			
			return result;
		}
		
		@Override
		@RosettaAttribute("disputeResolution")
		public DisputeResolution.DisputeResolutionBuilder getDisputeResolution() {
			return disputeResolution;
		}
		
		@Override
		public DisputeResolution.DisputeResolutionBuilder getOrCreateDisputeResolution() {
			DisputeResolution.DisputeResolutionBuilder result;
			if (disputeResolution!=null) {
				result = disputeResolution;
			}
			else {
				result = disputeResolution = DisputeResolution.builder();
			}
			
			return result;
		}
		
		@Override
		@RosettaAttribute("additionalRepresentation")
		public AdditionalRepresentation.AdditionalRepresentationBuilder getAdditionalRepresentation() {
			return additionalRepresentation;
		}
		
		@Override
		public AdditionalRepresentation.AdditionalRepresentationBuilder getOrCreateAdditionalRepresentation() {
			AdditionalRepresentation.AdditionalRepresentationBuilder result;
			if (additionalRepresentation!=null) {
				result = additionalRepresentation;
			}
			else {
				result = additionalRepresentation = AdditionalRepresentation.builder();
			}
			
			return result;
		}
		
		@Override
		@RosettaAttribute("demandsAndNotices")
		public ContactElection.ContactElectionBuilder getDemandsAndNotices() {
			return demandsAndNotices;
		}
		
		@Override
		public ContactElection.ContactElectionBuilder getOrCreateDemandsAndNotices() {
			ContactElection.ContactElectionBuilder result;
			if (demandsAndNotices!=null) {
				result = demandsAndNotices;
			}
			else {
				result = demandsAndNotices = ContactElection.builder();
			}
			
			return result;
		}
		
		@Override
		@RosettaAttribute("addressesForTransfer")
		public ContactElection.ContactElectionBuilder getAddressesForTransfer() {
			return addressesForTransfer;
		}
		
		@Override
		public ContactElection.ContactElectionBuilder getOrCreateAddressesForTransfer() {
			ContactElection.ContactElectionBuilder result;
			if (addressesForTransfer!=null) {
				result = addressesForTransfer;
			}
			else {
				result = addressesForTransfer = ContactElection.builder();
			}
			
			return result;
		}
		
		@Override
		@RosettaAttribute("bespokeProvision")
		public String getBespokeProvision() {
			return bespokeProvision;
		}
		
		@Override
		@RosettaAttribute("baseCurrency")
		public Csa2016.Csa2016Builder setBaseCurrency(FieldWithMetaString baseCurrency) {
			this.baseCurrency = baseCurrency==null?null:baseCurrency.toBuilder();
			return this;
		}
		@Override
		public Csa2016.Csa2016Builder setBaseCurrencyValue(String baseCurrency) {
			this.getOrCreateBaseCurrency().setValue(baseCurrency);
			return this;
		}
		@Override
		@RosettaAttribute("additionalObligations")
		public Csa2016.Csa2016Builder setAdditionalObligations(String additionalObligations) {
			this.additionalObligations = additionalObligations==null?null:additionalObligations;
			return this;
		}
		@Override
		@RosettaAttribute("conditionsPrecedent")
		public Csa2016.Csa2016Builder setConditionsPrecedent(ConditionsPrecedent conditionsPrecedent) {
			this.conditionsPrecedent = conditionsPrecedent==null?null:conditionsPrecedent.toBuilder();
			return this;
		}
		@Override
		@RosettaAttribute("substitution")
		public Csa2016.Csa2016Builder setSubstitution(Substitution substitution) {
			this.substitution = substitution==null?null:substitution.toBuilder();
			return this;
		}
		@Override
		@RosettaAttribute("disputeResolution")
		public Csa2016.Csa2016Builder setDisputeResolution(DisputeResolution disputeResolution) {
			this.disputeResolution = disputeResolution==null?null:disputeResolution.toBuilder();
			return this;
		}
		@Override
		@RosettaAttribute("additionalRepresentation")
		public Csa2016.Csa2016Builder setAdditionalRepresentation(AdditionalRepresentation additionalRepresentation) {
			this.additionalRepresentation = additionalRepresentation==null?null:additionalRepresentation.toBuilder();
			return this;
		}
		@Override
		@RosettaAttribute("demandsAndNotices")
		public Csa2016.Csa2016Builder setDemandsAndNotices(ContactElection demandsAndNotices) {
			this.demandsAndNotices = demandsAndNotices==null?null:demandsAndNotices.toBuilder();
			return this;
		}
		@Override
		@RosettaAttribute("addressesForTransfer")
		public Csa2016.Csa2016Builder setAddressesForTransfer(ContactElection addressesForTransfer) {
			this.addressesForTransfer = addressesForTransfer==null?null:addressesForTransfer.toBuilder();
			return this;
		}
		@Override
		@RosettaAttribute("bespokeProvision")
		public Csa2016.Csa2016Builder setBespokeProvision(String bespokeProvision) {
			this.bespokeProvision = bespokeProvision==null?null:bespokeProvision;
			return this;
		}
		
		@Override
		public Csa2016 build() {
			return new Csa2016.Csa2016Impl(this);
		}
		
		@Override
		public Csa2016.Csa2016Builder toBuilder() {
			return this;
		}
	
		@SuppressWarnings("unchecked")
		@Override
		public Csa2016.Csa2016Builder prune() {
			if (baseCurrency!=null && !baseCurrency.prune().hasData()) baseCurrency = null;
			if (conditionsPrecedent!=null && !conditionsPrecedent.prune().hasData()) conditionsPrecedent = null;
			if (substitution!=null && !substitution.prune().hasData()) substitution = null;
			if (disputeResolution!=null && !disputeResolution.prune().hasData()) disputeResolution = null;
			if (additionalRepresentation!=null && !additionalRepresentation.prune().hasData()) additionalRepresentation = null;
			if (demandsAndNotices!=null && !demandsAndNotices.prune().hasData()) demandsAndNotices = null;
			if (addressesForTransfer!=null && !addressesForTransfer.prune().hasData()) addressesForTransfer = null;
			return this;
		}
		
		@Override
		public boolean hasData() {
			if (getBaseCurrency()!=null) return true;
			if (getAdditionalObligations()!=null) return true;
			if (getConditionsPrecedent()!=null && getConditionsPrecedent().hasData()) return true;
			if (getSubstitution()!=null && getSubstitution().hasData()) return true;
			if (getDisputeResolution()!=null && getDisputeResolution().hasData()) return true;
			if (getAdditionalRepresentation()!=null && getAdditionalRepresentation().hasData()) return true;
			if (getDemandsAndNotices()!=null && getDemandsAndNotices().hasData()) return true;
			if (getAddressesForTransfer()!=null && getAddressesForTransfer().hasData()) return true;
			if (getBespokeProvision()!=null) return true;
			return false;
		}
	
		@SuppressWarnings("unchecked")
		@Override
		public Csa2016.Csa2016Builder merge(RosettaModelObjectBuilder other, BuilderMerger merger) {
			Csa2016.Csa2016Builder o = (Csa2016.Csa2016Builder) other;
			
			merger.mergeRosetta(getBaseCurrency(), o.getBaseCurrency(), this::setBaseCurrency);
			merger.mergeRosetta(getConditionsPrecedent(), o.getConditionsPrecedent(), this::setConditionsPrecedent);
			merger.mergeRosetta(getSubstitution(), o.getSubstitution(), this::setSubstitution);
			merger.mergeRosetta(getDisputeResolution(), o.getDisputeResolution(), this::setDisputeResolution);
			merger.mergeRosetta(getAdditionalRepresentation(), o.getAdditionalRepresentation(), this::setAdditionalRepresentation);
			merger.mergeRosetta(getDemandsAndNotices(), o.getDemandsAndNotices(), this::setDemandsAndNotices);
			merger.mergeRosetta(getAddressesForTransfer(), o.getAddressesForTransfer(), this::setAddressesForTransfer);
			
			merger.mergeBasic(getAdditionalObligations(), o.getAdditionalObligations(), this::setAdditionalObligations);
			merger.mergeBasic(getBespokeProvision(), o.getBespokeProvision(), this::setBespokeProvision);
			return this;
		}
	
		@Override
		public boolean equals(Object o) {
			if (this == o) return true;
			if (o == null || !(o instanceof RosettaModelObject) || !getType().equals(((RosettaModelObject)o).getType())) return false;
		
			Csa2016 _that = getType().cast(o);
		
			if (!Objects.equals(baseCurrency, _that.getBaseCurrency())) return false;
			if (!Objects.equals(additionalObligations, _that.getAdditionalObligations())) return false;
			if (!Objects.equals(conditionsPrecedent, _that.getConditionsPrecedent())) return false;
			if (!Objects.equals(substitution, _that.getSubstitution())) return false;
			if (!Objects.equals(disputeResolution, _that.getDisputeResolution())) return false;
			if (!Objects.equals(additionalRepresentation, _that.getAdditionalRepresentation())) return false;
			if (!Objects.equals(demandsAndNotices, _that.getDemandsAndNotices())) return false;
			if (!Objects.equals(addressesForTransfer, _that.getAddressesForTransfer())) return false;
			if (!Objects.equals(bespokeProvision, _that.getBespokeProvision())) return false;
			return true;
		}
		
		@Override
		public int hashCode() {
			int _result = 0;
			_result = 31 * _result + (baseCurrency != null ? baseCurrency.hashCode() : 0);
			_result = 31 * _result + (additionalObligations != null ? additionalObligations.hashCode() : 0);
			_result = 31 * _result + (conditionsPrecedent != null ? conditionsPrecedent.hashCode() : 0);
			_result = 31 * _result + (substitution != null ? substitution.hashCode() : 0);
			_result = 31 * _result + (disputeResolution != null ? disputeResolution.hashCode() : 0);
			_result = 31 * _result + (additionalRepresentation != null ? additionalRepresentation.hashCode() : 0);
			_result = 31 * _result + (demandsAndNotices != null ? demandsAndNotices.hashCode() : 0);
			_result = 31 * _result + (addressesForTransfer != null ? addressesForTransfer.hashCode() : 0);
			_result = 31 * _result + (bespokeProvision != null ? bespokeProvision.hashCode() : 0);
			return _result;
		}
		
		@Override
		public String toString() {
			return "Csa2016Builder {" +
				"baseCurrency=" + this.baseCurrency + ", " +
				"additionalObligations=" + this.additionalObligations + ", " +
				"conditionsPrecedent=" + this.conditionsPrecedent + ", " +
				"substitution=" + this.substitution + ", " +
				"disputeResolution=" + this.disputeResolution + ", " +
				"additionalRepresentation=" + this.additionalRepresentation + ", " +
				"demandsAndNotices=" + this.demandsAndNotices + ", " +
				"addressesForTransfer=" + this.addressesForTransfer + ", " +
				"bespokeProvision=" + this.bespokeProvision +
			'}';
		}
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy