All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.tools20022.repository.entity.BeneficialOwner Maven / Gradle / Ivy
/* Tools20022 - API for ISO 20022
* Copyright (C) 2017 Tools20022.com - László Bukodi
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
package com.tools20022.repository.entity;
import com.tools20022.metamodel.*;
import com.tools20022.repository.codeset.BeneficiaryCertificationTypeCode;
import com.tools20022.repository.codeset.CertificationFormatTypeCode;
import com.tools20022.repository.codeset.ERISAEligibilityCode;
import com.tools20022.repository.datatype.PercentageRate;
import com.tools20022.repository.datatype.YesNoIndicator;
import com.tools20022.repository.entity.SecuritiesPartyRole;
import com.tools20022.repository.GeneratedRepository;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
/**
* Characteristics of an individual or entity that is ultimately entitled to the
* benefit of income and rights in a security, as opposed to a nominal or legal
* owner.
*
* Class diagram
*
*
*
* Constant fields:
*
* {@linkplain com.tools20022.metamodel.MMBusinessComponent#getSuperType
* superType} =
* {@linkplain com.tools20022.repository.entity.SecuritiesPartyRole
* SecuritiesPartyRole}
* {@linkplain com.tools20022.metamodel.MMBusinessComponent#getElement
* element} =
*
*
* {@linkplain com.tools20022.repository.entity.BeneficialOwner#mmCertificationType
* BeneficialOwner.mmCertificationType}
*
* {@linkplain com.tools20022.repository.entity.BeneficialOwner#mmNonDomicileCountry
* BeneficialOwner.mmNonDomicileCountry}
*
* {@linkplain com.tools20022.repository.entity.BeneficialOwner#mmCertificationIndicator
* BeneficialOwner.mmCertificationIndicator}
*
* {@linkplain com.tools20022.repository.entity.BeneficialOwner#mmCertificationFormat
* BeneficialOwner.mmCertificationFormat}
*
* {@linkplain com.tools20022.repository.entity.BeneficialOwner#mmERISAEligibility
* BeneficialOwner.mmERISAEligibility}
* {@linkplain com.tools20022.repository.entity.BeneficialOwner#mmERISARate
* BeneficialOwner.mmERISARate}
*
* {@linkplain com.tools20022.repository.entity.BeneficialOwner#mmBenefitPlanDeclarationIndicator
* BeneficialOwner.mmBenefitPlanDeclarationIndicator}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessComponent#getAssociationDomain
* associationDomain} =
*
*
* {@linkplain com.tools20022.repository.entity.Country#mmCountryForBeneficialOwner
* Country.mmCountryForBeneficialOwner}
*
*
*
* {@linkplain com.tools20022.metamodel.MMTopLevelDictionaryEntry#getDataDictionary
* dataDictionary} =
* {@linkplain com.tools20022.repository.GeneratedRepository#mmdataDict
* GeneratedRepository.mmdataDict}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName name} =
* "BeneficialOwner"
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Characteristics of an individual or entity that is ultimately entitled to the benefit of income and rights in a security, as opposed to a nominal or legal owner."
*
*
*/
public class BeneficialOwner extends SecuritiesPartyRole {
final static private AtomicReference mmObject_lazy = new AtomicReference<>();
protected BeneficiaryCertificationTypeCode certificationType;
/**
* Type of certification which is required.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.codeset.BeneficiaryCertificationTypeCode
* BeneficiaryCertificationTypeCode}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.BeneficialOwner
* BeneficialOwner}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "CertificationType"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Type of certification which is required."
*
*/
public static final MMBusinessAttribute mmCertificationType = new MMBusinessAttribute() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.BeneficialOwner.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "CertificationType";
definition = "Type of certification which is required.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> BeneficiaryCertificationTypeCode.mmObject();
}
public Method getGetterMethod() {
try {
return BeneficialOwner.class.getMethod("getCertificationType", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected Country nonDomicileCountry;
/**
* The holder of the security has to certify, in line with the terms of the
* corporate action, that it is not domiciled in the country indicated.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.Country#mmCountryForBeneficialOwner
* Country.mmCountryForBeneficialOwner}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.entity.Country Country}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.BeneficialOwner
* BeneficialOwner}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "NonDomicileCountry"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "The holder of the security has to certify, in line with the terms of the corporate action, that it is not domiciled in the country indicated."
*
*
*/
public static final MMBusinessAssociationEnd mmNonDomicileCountry = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.BeneficialOwner.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "NonDomicileCountry";
definition = "The holder of the security has to certify, in line with the terms of the corporate action, that it is not domiciled in the country indicated.";
maxOccurs = 1;
minOccurs = 1;
opposite_lazy = () -> com.tools20022.repository.entity.Country.mmCountryForBeneficialOwner;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.Country.mmObject();
}
};
protected YesNoIndicator certificationIndicator;
/**
* Indicates whether or not certification is required from the account
* owner, for instance a certification is required to participate to a
* corporate action event.
* Y: certification required
* N: no certification required
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.datatype.YesNoIndicator
* YesNoIndicator}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.BeneficialOwner
* BeneficialOwner}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "CertificationIndicator"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Indicates whether or not certification is required from the account owner, for instance a certification is required to participate to a corporate action event.\r\nY: certification required \r\nN: no certification required"
*
*
*/
public static final MMBusinessAttribute mmCertificationIndicator = new MMBusinessAttribute() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.BeneficialOwner.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "CertificationIndicator";
definition = "Indicates whether or not certification is required from the account owner, for instance a certification is required to participate to a corporate action event.\r\nY: certification required \r\nN: no certification required";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> YesNoIndicator.mmObject();
}
public Method getGetterMethod() {
try {
return BeneficialOwner.class.getMethod("getCertificationIndicator", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected CertificationFormatTypeCode certificationFormat;
/**
* Specifies the certification format required, that is, physical or
* electronic format.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.codeset.CertificationFormatTypeCode
* CertificationFormatTypeCode}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.BeneficialOwner
* BeneficialOwner}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "CertificationFormat"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Specifies the certification format required, that is, physical or electronic format."
*
*
*/
public static final MMBusinessAttribute mmCertificationFormat = new MMBusinessAttribute() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.BeneficialOwner.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "CertificationFormat";
definition = "Specifies the certification format required, that is, physical or electronic format.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> CertificationFormatTypeCode.mmObject();
}
public Method getGetterMethod() {
try {
return BeneficialOwner.class.getMethod("getCertificationFormat", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected ERISAEligibilityCode eRISAEligibility;
/**
* Eligibility to federal Employee Retirement Income Security Act.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.codeset.ERISAEligibilityCode
* ERISAEligibilityCode}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.BeneficialOwner
* BeneficialOwner}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "ERISAEligibility"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Eligibility to federal Employee Retirement Income Security Act."
*
*/
public static final MMBusinessAttribute mmERISAEligibility = new MMBusinessAttribute() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.BeneficialOwner.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "ERISAEligibility";
definition = "Eligibility to federal Employee Retirement Income Security Act.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> ERISAEligibilityCode.mmObject();
}
public Method getGetterMethod() {
try {
return BeneficialOwner.class.getMethod("getERISAEligibility", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected PercentageRate eRISARate;
/**
* Federal Employee Retirement Income Security Act (ERISA) rate.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.datatype.PercentageRate
* PercentageRate}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.BeneficialOwner
* BeneficialOwner}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "ERISARate"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Federal Employee Retirement Income Security Act (ERISA) rate."
*
*/
public static final MMBusinessAttribute mmERISARate = new MMBusinessAttribute() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.BeneficialOwner.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "ERISARate";
definition = "Federal Employee Retirement Income Security Act (ERISA) rate.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> PercentageRate.mmObject();
}
public Method getGetterMethod() {
try {
return BeneficialOwner.class.getMethod("getERISARate", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected YesNoIndicator benefitPlanDeclarationIndicator;
/**
* Indicates whether the investor is a benefit plan investor.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.datatype.YesNoIndicator
* YesNoIndicator}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.BeneficialOwner
* BeneficialOwner}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "BenefitPlanDeclarationIndicator"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Indicates whether the investor is a benefit plan investor."
*
*/
public static final MMBusinessAttribute mmBenefitPlanDeclarationIndicator = new MMBusinessAttribute() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.BeneficialOwner.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "BenefitPlanDeclarationIndicator";
definition = "Indicates whether the investor is a benefit plan investor.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> YesNoIndicator.mmObject();
}
public Method getGetterMethod() {
try {
return BeneficialOwner.class.getMethod("getBenefitPlanDeclarationIndicator", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
static public MMBusinessComponent mmObject() {
mmObject_lazy.compareAndSet(null, new MMBusinessComponent() {
{
dataDictionary_lazy = () -> GeneratedRepository.mmdataDict;
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "BeneficialOwner";
definition = "Characteristics of an individual or entity that is ultimately entitled to the benefit of income and rights in a security, as opposed to a nominal or legal owner.";
associationDomain_lazy = () -> Arrays.asList(com.tools20022.repository.entity.Country.mmCountryForBeneficialOwner);
superType_lazy = () -> SecuritiesPartyRole.mmObject();
element_lazy = () -> Arrays.asList(com.tools20022.repository.entity.BeneficialOwner.mmCertificationType, com.tools20022.repository.entity.BeneficialOwner.mmNonDomicileCountry,
com.tools20022.repository.entity.BeneficialOwner.mmCertificationIndicator, com.tools20022.repository.entity.BeneficialOwner.mmCertificationFormat, com.tools20022.repository.entity.BeneficialOwner.mmERISAEligibility,
com.tools20022.repository.entity.BeneficialOwner.mmERISARate, com.tools20022.repository.entity.BeneficialOwner.mmBenefitPlanDeclarationIndicator);
}
@Override
public Class getInstanceClass() {
return BeneficialOwner.class;
}
});
return mmObject_lazy.get();
}
public BeneficiaryCertificationTypeCode getCertificationType() {
return certificationType;
}
public void setCertificationType(BeneficiaryCertificationTypeCode certificationType) {
this.certificationType = certificationType;
}
public Country getNonDomicileCountry() {
return nonDomicileCountry;
}
public void setNonDomicileCountry(com.tools20022.repository.entity.Country nonDomicileCountry) {
this.nonDomicileCountry = nonDomicileCountry;
}
public YesNoIndicator getCertificationIndicator() {
return certificationIndicator;
}
public void setCertificationIndicator(YesNoIndicator certificationIndicator) {
this.certificationIndicator = certificationIndicator;
}
public CertificationFormatTypeCode getCertificationFormat() {
return certificationFormat;
}
public void setCertificationFormat(CertificationFormatTypeCode certificationFormat) {
this.certificationFormat = certificationFormat;
}
public ERISAEligibilityCode getERISAEligibility() {
return eRISAEligibility;
}
public void setERISAEligibility(ERISAEligibilityCode eRISAEligibility) {
this.eRISAEligibility = eRISAEligibility;
}
public PercentageRate getERISARate() {
return eRISARate;
}
public void setERISARate(PercentageRate eRISARate) {
this.eRISARate = eRISARate;
}
public YesNoIndicator getBenefitPlanDeclarationIndicator() {
return benefitPlanDeclarationIndicator;
}
public void setBenefitPlanDeclarationIndicator(YesNoIndicator benefitPlanDeclarationIndicator) {
this.benefitPlanDeclarationIndicator = benefitPlanDeclarationIndicator;
}
}