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.CashStandingOrder 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.DebitCreditCode;
import com.tools20022.repository.datatype.CurrencyAndAmount;
import com.tools20022.repository.datatype.TrueFalseIndicator;
import com.tools20022.repository.entity.StandingOrder;
import com.tools20022.repository.GeneratedRepository;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
/**
* Instruction given by a party that has explicit authority to instruct a debit
* on the account, ie, either the debit account owner or originating party, to a
* first agent, to process cash transfers at specified intervals during an
* implicit or explicit period of time. A standing order is given once and is
* valid for an open or closed period of time.
*
* Class diagram
*
*
*
* Constant fields:
*
* {@linkplain com.tools20022.metamodel.MMBusinessComponent#getSuperType
* superType} = {@linkplain com.tools20022.repository.entity.StandingOrder
* StandingOrder}
* {@linkplain com.tools20022.metamodel.MMBusinessComponent#getElement
* element} =
*
*
* {@linkplain com.tools20022.repository.entity.CashStandingOrder#mmZeroSweepIndicator
* CashStandingOrder.mmZeroSweepIndicator}
*
* {@linkplain com.tools20022.repository.entity.CashStandingOrder#mmRelatedCashServices
* CashStandingOrder.mmRelatedCashServices}
*
* {@linkplain com.tools20022.repository.entity.CashStandingOrder#mmCreditDebitIndicator
* CashStandingOrder.mmCreditDebitIndicator}
*
* {@linkplain com.tools20022.repository.entity.CashStandingOrder#mmCreditTransfer
* CashStandingOrder.mmCreditTransfer}
*
* {@linkplain com.tools20022.repository.entity.CashStandingOrder#mmFloorAmount
* CashStandingOrder.mmFloorAmount}
*
* {@linkplain com.tools20022.repository.entity.CashStandingOrder#mmCashAccount
* CashStandingOrder.mmCashAccount}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessComponent#getAssociationDomain
* associationDomain} =
*
*
* {@linkplain com.tools20022.repository.entity.CashAccount#mmCashStandingOrder
* CashAccount.mmCashStandingOrder}
*
* {@linkplain com.tools20022.repository.entity.CashManagementService#mmStandingOrder
* CashManagementService.mmStandingOrder}
*
* {@linkplain com.tools20022.repository.entity.CreditTransfer#mmRelatedStandingOrder
* CreditTransfer.mmRelatedStandingOrder}
*
*
*
* {@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} =
* "CashStandingOrder"
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Instruction given by a party that has explicit authority to instruct a debit on the account, ie, either the debit account owner or originating party, to a first agent, to process cash transfers at specified intervals during an implicit or explicit period of time. A standing order is given once and is valid for an open or closed period of time."
*
*
*/
public class CashStandingOrder extends StandingOrder {
final static private AtomicReference mmObject_lazy = new AtomicReference<>();
protected TrueFalseIndicator zeroSweepIndicator;
/**
* Indicates whether the liquidity transfer standing order is defined as a
* zero sweeping order. When true, the liquidity transfer standing order
* will transfer all amount of money out of the account so the resulting
* balance is zero.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.datatype.TrueFalseIndicator
* TrueFalseIndicator}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CashStandingOrder
* CashStandingOrder}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "ZeroSweepIndicator"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Indicates whether the liquidity transfer standing order is defined as a zero sweeping order. When true, the liquidity transfer standing order will transfer all amount of money out of the account so the resulting balance is zero."
*
*
*/
public static final MMBusinessAttribute mmZeroSweepIndicator = new MMBusinessAttribute() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CashStandingOrder.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "ZeroSweepIndicator";
definition = "Indicates whether the liquidity transfer standing order is defined as a zero sweeping order. When true, the liquidity transfer standing order will transfer all amount of money out of the account so the resulting balance is zero.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> TrueFalseIndicator.mmObject();
}
public Method getGetterMethod() {
try {
return CashStandingOrder.class.getMethod("getZeroSweepIndicator", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected CashManagementService relatedCashServices;
/**
* Cash management services which provide standing order facilities.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.CashManagementService#mmStandingOrder
* CashManagementService.mmStandingOrder}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} =
* {@linkplain com.tools20022.repository.entity.CashManagementService
* CashManagementService}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CashStandingOrder
* CashStandingOrder}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "RelatedCashServices"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Cash management services which provide standing order facilities."
*
*/
public static final MMBusinessAssociationEnd mmRelatedCashServices = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CashStandingOrder.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "RelatedCashServices";
definition = "Cash management services which provide standing order facilities.";
maxOccurs = 1;
minOccurs = 0;
opposite_lazy = () -> com.tools20022.repository.entity.CashManagementService.mmStandingOrder;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.CashManagementService.mmObject();
}
};
protected DebitCreditCode creditDebitIndicator;
/**
* Specifies if the account is debited or credited by the standing order.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.codeset.DebitCreditCode
* DebitCreditCode}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CashStandingOrder
* CashStandingOrder}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "CreditDebitIndicator"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Specifies if the account is debited or credited by the standing order."
*
*/
public static final MMBusinessAttribute mmCreditDebitIndicator = new MMBusinessAttribute() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CashStandingOrder.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "CreditDebitIndicator";
definition = "Specifies if the account is debited or credited by the standing order.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> DebitCreditCode.mmObject();
}
public Method getGetterMethod() {
try {
return CashStandingOrder.class.getMethod("getCreditDebitIndicator", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected CreditTransfer creditTransfer;
/**
* Standing order causes a payment instruction at regular intervals, eg, as
* specified by its frequency.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.CreditTransfer#mmRelatedStandingOrder
* CreditTransfer.mmRelatedStandingOrder}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.entity.CreditTransfer
* CreditTransfer}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CashStandingOrder
* CashStandingOrder}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "CreditTransfer"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Standing order causes a payment instruction at regular intervals, eg, as specified by its frequency."
*
*
*/
public static final MMBusinessAssociationEnd mmCreditTransfer = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CashStandingOrder.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "CreditTransfer";
definition = "Standing order causes a payment instruction at regular intervals, eg, as specified by its frequency.";
maxOccurs = 1;
minOccurs = 1;
opposite_lazy = () -> com.tools20022.repository.entity.CreditTransfer.mmRelatedStandingOrder;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.CreditTransfer.mmObject();
}
};
protected CurrencyAndAmount floorAmount;
/**
* Minimum amount of money that should remain on the debtor's account, for
* cash management purposes.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.datatype.CurrencyAndAmount
* CurrencyAndAmount}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CashStandingOrder
* CashStandingOrder}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "FloorAmount"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Minimum amount of money that should remain on the debtor's account, for cash management purposes."
*
*
*/
public static final MMBusinessAttribute mmFloorAmount = new MMBusinessAttribute() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CashStandingOrder.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "FloorAmount";
definition = "Minimum amount of money that should remain on the debtor's account, for cash management purposes.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> CurrencyAndAmount.mmObject();
}
public Method getGetterMethod() {
try {
return CashStandingOrder.class.getMethod("getFloorAmount", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected CashAccount cashAccount;
/**
* Cash account for which a standing order applies.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.CashAccount#mmCashStandingOrder
* CashAccount.mmCashStandingOrder}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.entity.CashAccount
* CashAccount}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CashStandingOrder
* CashStandingOrder}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "CashAccount"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Cash account for which a standing order applies."
*
*/
public static final MMBusinessAssociationEnd mmCashAccount = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CashStandingOrder.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "CashAccount";
definition = "Cash account for which a standing order applies.";
maxOccurs = 1;
minOccurs = 1;
opposite_lazy = () -> com.tools20022.repository.entity.CashAccount.mmCashStandingOrder;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.CashAccount.mmObject();
}
};
static public MMBusinessComponent mmObject() {
mmObject_lazy.compareAndSet(null, new MMBusinessComponent() {
{
dataDictionary_lazy = () -> GeneratedRepository.mmdataDict;
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "CashStandingOrder";
definition = "Instruction given by a party that has explicit authority to instruct a debit on the account, ie, either the debit account owner or originating party, to a first agent, to process cash transfers at specified intervals during an implicit or explicit period of time. A standing order is given once and is valid for an open or closed period of time.";
associationDomain_lazy = () -> Arrays.asList(com.tools20022.repository.entity.CashAccount.mmCashStandingOrder, com.tools20022.repository.entity.CashManagementService.mmStandingOrder,
com.tools20022.repository.entity.CreditTransfer.mmRelatedStandingOrder);
superType_lazy = () -> StandingOrder.mmObject();
element_lazy = () -> Arrays.asList(com.tools20022.repository.entity.CashStandingOrder.mmZeroSweepIndicator, com.tools20022.repository.entity.CashStandingOrder.mmRelatedCashServices,
com.tools20022.repository.entity.CashStandingOrder.mmCreditDebitIndicator, com.tools20022.repository.entity.CashStandingOrder.mmCreditTransfer, com.tools20022.repository.entity.CashStandingOrder.mmFloorAmount,
com.tools20022.repository.entity.CashStandingOrder.mmCashAccount);
}
@Override
public Class getInstanceClass() {
return CashStandingOrder.class;
}
});
return mmObject_lazy.get();
}
public TrueFalseIndicator getZeroSweepIndicator() {
return zeroSweepIndicator;
}
public void setZeroSweepIndicator(TrueFalseIndicator zeroSweepIndicator) {
this.zeroSweepIndicator = zeroSweepIndicator;
}
public CashManagementService getRelatedCashServices() {
return relatedCashServices;
}
public void setRelatedCashServices(com.tools20022.repository.entity.CashManagementService relatedCashServices) {
this.relatedCashServices = relatedCashServices;
}
public DebitCreditCode getCreditDebitIndicator() {
return creditDebitIndicator;
}
public void setCreditDebitIndicator(DebitCreditCode creditDebitIndicator) {
this.creditDebitIndicator = creditDebitIndicator;
}
public CreditTransfer getCreditTransfer() {
return creditTransfer;
}
public void setCreditTransfer(com.tools20022.repository.entity.CreditTransfer creditTransfer) {
this.creditTransfer = creditTransfer;
}
public CurrencyAndAmount getFloorAmount() {
return floorAmount;
}
public void setFloorAmount(CurrencyAndAmount floorAmount) {
this.floorAmount = floorAmount;
}
public CashAccount getCashAccount() {
return cashAccount;
}
public void setCashAccount(com.tools20022.repository.entity.CashAccount cashAccount) {
this.cashAccount = cashAccount;
}
}