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

au.org.consumerdatastandards.api.banking.models.BankingDomesticPayee Maven / Gradle / Ivy

Go to download

This artefact describes the Consumer Data Standards using Java classes and annotations in a way suitable for automatic generation of Open API Specification, documentation, Server Stub, Client Libraries and Reference Test.

There is a newer version: 1.1.1
Show newest version
package au.org.consumerdatastandards.api.banking.models;

import au.org.consumerdatastandards.support.data.*;

@DataDefinition
@CustomAttributes({
    @CustomAttribute(name = "x-conditional", value = "account", multiple = true),
    @CustomAttribute(name = "x-conditional", value = "card", multiple = true),
    @CustomAttribute(name = "x-conditional", value = "payId", multiple = true)
})
public class BankingDomesticPayee {

    public enum PayeeAccountUType {
        account,
        card,
        payId
    }

    @Property(
        description = "Type of account object included. Valid values are: { payeeAccountUType - - account A standard Australian account defined by BSB/Account Number payId A PayID recognised by NPP",
        required = true
    )
    PayeeAccountUType payeeAccountUType;

    @Property(
        requiredIf = { @Condition(propertyName = "payeeAccountUType", values = {"account"}) },
        nullIf = { @Condition(propertyName = "payeeAccountUType", values = {"card", "payId"}) }
    )
    BankingDomesticPayeeAccount account;

    @Property(
        requiredIf = { @Condition(propertyName = "payeeAccountUType", values = {"card"}) },
        nullIf = { @Condition(propertyName = "payeeAccountUType", values = {"account", "payId"}) }
    )
    BankingDomesticPayeeCard card;

    @Property(
        requiredIf = { @Condition(propertyName = "payeeAccountUType", values = {"payId"}) },
        nullIf = { @Condition(propertyName = "payeeAccountUType", values = {"account", "card"}) }
    )
    BankingDomesticPayeePayId payId;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy