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

com.tools20022.repository.entity.BeneficialOwner Maven / Gradle / Ivy

The newest version!
/* 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; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy