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

cdm.event.common.meta.TradeMeta Maven / Gradle / Ivy

package cdm.event.common.meta;

import cdm.event.common.Trade;
import cdm.event.common.validation.TradeTypeFormatValidator;
import cdm.event.common.validation.TradeValidator;
import cdm.event.common.validation.exists.TradeOnlyExistsValidator;
import com.rosetta.model.lib.annotations.RosettaMeta;
import com.rosetta.model.lib.meta.RosettaMetaData;
import com.rosetta.model.lib.qualify.QualifyFunctionFactory;
import com.rosetta.model.lib.qualify.QualifyResult;
import com.rosetta.model.lib.validation.Validator;
import com.rosetta.model.lib.validation.ValidatorFactory;
import com.rosetta.model.lib.validation.ValidatorWithArg;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.function.Function;


/**
 * @version 6.0.0-dev.82
 */
@RosettaMeta(model=Trade.class)
public class TradeMeta implements RosettaMetaData {

	@Override
	public List> dataRules(ValidatorFactory factory) {
		return Arrays.asList(
			factory.create(cdm.product.template.validation.datarule.TradableProductPriceQuantityTriangulation.class),
			factory.create(cdm.product.template.validation.datarule.TradableProductNotionalAdjustment.class),
			factory.create(cdm.product.template.validation.datarule.TradableProductPerformancePayoutExtraordinaryDividendsParty.class),
			factory.create(cdm.product.template.validation.datarule.TradableProductOptionPayoutPredeterminedClearingOrganizationParty.class),
			factory.create(cdm.product.template.validation.datarule.TradableProductForwardPayoutPredeterminedClearingOrganizationParty.class),
			factory.create(cdm.product.template.validation.datarule.TradableProductPredeterminedClearingOrganizationParty.class),
			factory.create(cdm.product.template.validation.datarule.TradableProductExerciseNoticeReceiverPartyManual.class),
			factory.create(cdm.product.template.validation.datarule.TradableProductExerciseNoticeReceiverPartyOptionalEarlyTermination.class),
			factory.create(cdm.product.template.validation.datarule.TradableProductExerciseNoticeReceiverPartyCancelableProvision.class),
			factory.create(cdm.product.template.validation.datarule.TradableProductExerciseNoticeReceiverPartyExtendibleProvision.class),
			factory.create(cdm.product.template.validation.datarule.TradableProductCalculationAgentIndependent.class),
			factory.create(cdm.product.template.validation.datarule.TradableProductCalculationAgentOptionalEarlyTermination.class),
			factory.create(cdm.product.template.validation.datarule.TradableProductCalculationAgentMandatoryEarlyTermination.class),
			factory.create(cdm.event.common.validation.datarule.TradeSettlementPayout.class),
			factory.create(cdm.event.common.validation.datarule.TradePackageTrade.class),
			factory.create(cdm.event.common.validation.datarule.TradeDeliverableObligationsPhysicalSettlementMatrix.class),
			factory.create(cdm.event.common.validation.datarule.TradeObligationsPhysicalSettlementMatrix.class),
			factory.create(cdm.event.common.validation.datarule.TradeCreditEventsPhysicalSettlementMatrix.class),
			factory.create(cdm.event.common.validation.datarule.TradeRestructuringPhysicalSettlementMatrix.class),
			factory.create(cdm.event.common.validation.datarule.TradeAdditionalFixedPaymentsMortgages.class),
			factory.create(cdm.event.common.validation.datarule.TradeFloatingAmountEventsMortgages.class),
			factory.create(cdm.event.common.validation.datarule.TradeCreditEventsMortgages.class),
			factory.create(cdm.event.common.validation.datarule.TradeHedgingParty.class),
			factory.create(cdm.event.common.validation.datarule.TradeDeterminingParty.class),
			factory.create(cdm.event.common.validation.datarule.TradeBarrierDerterminationAgent.class),
			factory.create(cdm.event.common.validation.datarule.TradeClearedDate.class),
			factory.create(cdm.event.common.validation.datarule.TradeFpMLCd1.class),
			factory.create(cdm.event.common.validation.datarule.TradeFpMLCd7.class),
			factory.create(cdm.event.common.validation.datarule.TradeFpMLCd8.class),
			factory.create(cdm.event.common.validation.datarule.TradeFpMLCd11.class),
			factory.create(cdm.event.common.validation.datarule.TradeFpMLCd19.class),
			factory.create(cdm.event.common.validation.datarule.TradeFpMLCd20.class),
			factory.create(cdm.event.common.validation.datarule.TradeFpMLCd23.class),
			factory.create(cdm.event.common.validation.datarule.TradeFpMLCd24.class),
			factory.create(cdm.event.common.validation.datarule.TradeFpMLCd25.class),
			factory.create(cdm.event.common.validation.datarule.TradeFpMLCd32.class),
			factory.create(cdm.event.common.validation.datarule.TradeFpMLIrd8.class),
			factory.create(cdm.event.common.validation.datarule.TradeExtraordinaryEvents.class),
			factory.create(cdm.event.common.validation.datarule.TradeDisruptionEventsDeterminingParty.class)
		);
	}
	
	@Override
	public List> getQualifyFunctions(QualifyFunctionFactory factory) {
		return Collections.emptyList();
	}

	@Override
	public Validator validator() {
		return new TradeValidator();
	}

	@Override
	public Validator typeFormatValidator() {
		return new TradeTypeFormatValidator();
	}
	
	@Override
	public ValidatorWithArg> onlyExistsValidator() {
		return new TradeOnlyExistsValidator();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy