Class OptionAPartyField
- java.lang.Object
-
- com.prowidesoftware.swift.model.field.Field
-
- com.prowidesoftware.swift.model.field.OptionAPartyField
-
- All Implemented Interfaces:
JsonSerializable
,BICContainer
,PartyIdentifier
,PatternContainer
- Direct Known Subclasses:
Field42A
,Field51A
,Field52A
,Field53A
,Field54A
,Field55A
,Field56A
,Field57A
,Field58A
,Field81A
,Field82A
,Field83A
,Field84A
,Field85A
,Field86A
,Field87A
,Field88A
,Field89A
,Field91A
,Field96A
public abstract class OptionAPartyField extends Field implements BICContainer, PartyIdentifier
Identifier CodeSubfields (components) Data types
- Component 1: DCMark:
String
- Component 2: Account:
String
- Component 3: IdentifierCode:
BIC
Structure definition
- parser pattern:
[[/c][/S]$]S
- components pattern:
SSB
- Since:
- 7.11.0
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.Integer
ACCOUNT
Component number for the Account subfieldstatic java.lang.Integer
DC_MARK
Component number for the D/C Mark subfieldstatic java.lang.Integer
IDENTIFIER_CODE
Component number for the Identifier Code subfieldstatic java.lang.String
PARSER_PATTERN
static java.lang.String
TYPES_PATTERN
Types pattern Contains a description of the type of each component-
Fields inherited from class com.prowidesoftware.swift.model.field.Field
components, labelMap
-
-
Constructor Summary
Constructors Constructor Description OptionAPartyField()
Default constructor.OptionAPartyField(java.lang.String value)
Creates a new field and initializes its components with content from the parameter value.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.util.List<BIC>
bics()
Utility method that creates a BIC for every string returned byBICContainer.bicStrings()
java.util.List<java.lang.String>
bicStrings()
Get a list of strings of BICs present in this fieldint
componentsSize()
Returns the defined amount of components.
This is not the amount of components present in the field instance, but the total amount of components that this field accepts as defined.java.lang.String
getAccount()
Gets the Account (component2) removing its starting slashes if any.java.lang.String
getComponent1()
Gets the component1 (D/C Mark).java.lang.String
getComponent2()
Gets the component2 (Account).java.lang.String
getComponent3()
Gets the component3 (BIC).BIC
getComponent3AsBIC()
Get the component3 as BICjava.util.List<java.lang.String>
getComponentLabels()
Returns english label for components.protected java.util.Map<java.lang.Integer,java.lang.String>
getComponentMap()
Returns a mapping between component numbers and their label in camel case format.java.lang.String
getDCMark()
Gets the D/C Mark (component1).java.lang.String
getIdentifierCode()
Gets the Identifier Code (component3).BIC
getIdentifierCodeAsBIC()
Get the Identifier Code (component3) as BICprotected java.util.Map<java.lang.String,java.lang.Integer>
getLabelMap()
Returns a mapping between component labels and the internal component number.abstract java.lang.String
getName()
Returns the field's name composed by the field number and the letter option (if any)java.lang.String
getPartyIdentifier()
Get the formatted Party Identifier (CD Mark + Account) The Party Indentifier has the following format:[/{cd-mark}]/{account}
java.lang.String
getValue()
Serializes the fields' components into the single string value (SWIFT format)java.lang.String
getValueDisplay(int component, java.util.Locale locale)
Returns a localized suitable for showing to humans string of a field component.boolean
isGeneric()
Returns true if the field is a GENERIC FIELD as specified by the standard.boolean
isOptional(int component)
Given a component number it returns true if the component is optional, regardless of the field being mandatory in a particular message.
Being the field's value conformed by a composition of one or several internal component values, the field may be present in a message with a proper value but with some of its internal components not set.void
parse(java.lang.String value)
Parses the parameter value into the internal components structure.java.lang.String
parserPattern()
Returns the field parser patternOptionAPartyField
setPartyIdentifier(java.lang.String partyIdentifier)
Set the formatted Party Identifier (CD Mark + Account) The Party Indentifier has the following format:[/{cd-mark}]/{account}
If the format is not validjava.lang.String
typesPattern()
Returns the field component types pattern This method returns a letter representing the type for each component in the Field.abstract java.lang.String
validatorPattern()
Returns the field validator pattern, that could vary er specific field-
Methods inherited from class com.prowidesoftware.swift.model.field.Field
append, appendInLines, appendInLines, asTag, componentNameToNumber, equals, findComponentStartingWith, format, formatAccount, formatNumber, fromJson, getAsBigDecimal, getComponent, getComponent, getComponentAs, getComponentAs, getComponentAsNumber, getComponentAsNumber, getComponentLabel, getComponentLabel, getComponents, getField, getField, getLabel, getLabel, getLabelComponents, getLine, getValueByCodeword, getValueDisplay, getValueDisplay, getValueDisplay, hashCode, init, is, is, is, is, isEmpty, isLetterOption, isNameAnyOf, joinComponents, joinComponents, joinComponents, joinComponents, letterOption, notNull, setComponent, setComponent, setComponents, toJson, toString, validName
-
-
-
-
Field Detail
-
PARSER_PATTERN
public static final java.lang.String PARSER_PATTERN
- See Also:
- Constant Field Values
-
TYPES_PATTERN
public static final java.lang.String TYPES_PATTERN
Types pattern Contains a description of the type of each component- See Also:
- Constant Field Values
-
DC_MARK
public static final java.lang.Integer DC_MARK
Component number for the D/C Mark subfield
-
ACCOUNT
public static final java.lang.Integer ACCOUNT
Component number for the Account subfield
-
IDENTIFIER_CODE
public static final java.lang.Integer IDENTIFIER_CODE
Component number for the Identifier Code subfield
-
-
Constructor Detail
-
OptionAPartyField
public OptionAPartyField()
Default constructor. Creates a new field setting all components to null.
-
OptionAPartyField
public OptionAPartyField(java.lang.String value)
Creates a new field and initializes its components with content from the parameter value.- Parameters:
value
- complete field value including separators and CRLF
-
-
Method Detail
-
parse
public void parse(java.lang.String value)
Parses the parameter value into the internal components structure.Used to update all components from a full new value, as an alternative to setting individual components. Previous component values are overwritten.
-
getValueDisplay
public java.lang.String getValueDisplay(int component, java.util.Locale locale)
Returns a localized suitable for showing to humans string of a field component.- Specified by:
getValueDisplay
in classField
- Parameters:
component
- number of the component to displaylocale
- optional locale to format date and amounts, if null, the default locale is used- Returns:
- formatted component value or null if component number is invalid or not present
- Throws:
java.lang.IllegalArgumentException
- if component number is invalid for the field- Since:
- 7.8
-
getValue
public java.lang.String getValue()
Serializes the fields' components into the single string value (SWIFT format)
-
getName
public abstract java.lang.String getName()
Description copied from class:Field
Returns the field's name composed by the field number and the letter option (if any)
-
typesPattern
public final java.lang.String typesPattern()
Returns the field component types pattern This method returns a letter representing the type for each component in the Field. It supersedes the Components Pattern because it distinguishes between N (Number) and I (BigDecimal).- Specified by:
typesPattern
in interfacePatternContainer
- Specified by:
typesPattern
in classField
- Returns:
- the static value of TYPES_PATTERN
- See Also:
TYPES_PATTERN
-
parserPattern
public final java.lang.String parserPattern()
Returns the field parser pattern- Specified by:
parserPattern
in interfacePatternContainer
- Returns:
- the static value of PARSER_PATTERN
-
validatorPattern
public abstract java.lang.String validatorPattern()
Returns the field validator pattern, that could vary er specific field- Specified by:
validatorPattern
in classField
-
isOptional
public boolean isOptional(int component)
Given a component number it returns true if the component is optional, regardless of the field being mandatory in a particular message.
Being the field's value conformed by a composition of one or several internal component values, the field may be present in a message with a proper value but with some of its internal components not set.- Specified by:
isOptional
in classField
- Parameters:
component
- component number, first component of a field is referenced as 1- Returns:
- true if the component is optional for this field, false otherwise
-
isGeneric
public boolean isGeneric()
Returns true if the field is a GENERIC FIELD as specified by the standard.
-
componentsSize
public int componentsSize()
Returns the defined amount of components.
This is not the amount of components present in the field instance, but the total amount of components that this field accepts as defined.- Specified by:
componentsSize
in classField
- Since:
- 7.7
-
getComponentLabels
public java.util.List<java.lang.String> getComponentLabels()
Returns english label for components.
The index in the list is in sync with specific field component structure.- Specified by:
getComponentLabels
in classField
- Since:
- 7.8.4
- See Also:
Field.getComponentLabel(int)
-
getComponentMap
protected java.util.Map<java.lang.Integer,java.lang.String> getComponentMap()
Returns a mapping between component numbers and their label in camel case format.- Specified by:
getComponentMap
in classField
- Since:
- 7.10.3
-
getLabelMap
protected java.util.Map<java.lang.String,java.lang.Integer> getLabelMap()
Description copied from class:Field
Returns a mapping between component labels and the internal component number. Component labels are in lowercase and without spaces and separators. If a for a given component there is more than one label option, both are mapped to the same component number.- Specified by:
getLabelMap
in classField
- Since:
- 9.3.12
- See Also:
Field.getLabelMap()
-
getComponent1
public java.lang.String getComponent1()
Gets the component1 (D/C Mark).- Returns:
- the component1
-
getDCMark
public java.lang.String getDCMark()
Gets the D/C Mark (component1).- Returns:
- the D/C Mark from component1
-
getComponent2
public java.lang.String getComponent2()
Gets the component2 (Account).- Returns:
- the component2
-
getAccount
public java.lang.String getAccount()
Gets the Account (component2) removing its starting slashes if any.- Returns:
- the Account from component2
-
getComponent3
public java.lang.String getComponent3()
Gets the component3 (BIC).- Returns:
- the component3
-
getComponent3AsBIC
public BIC getComponent3AsBIC()
Get the component3 as BIC- Returns:
- the component3 converted to BIC or null if cannot be converted
-
getIdentifierCode
public java.lang.String getIdentifierCode()
Gets the Identifier Code (component3).- Returns:
- the BIC from component3
-
getIdentifierCodeAsBIC
public BIC getIdentifierCodeAsBIC()
Get the Identifier Code (component3) as BIC- Returns:
- the BIC from component3 converted to BIC or null if cannot be converted
-
bics
public java.util.List<BIC> bics()
Description copied from interface:BICContainer
Utility method that creates a BIC for every string returned byBICContainer.bicStrings()
- Specified by:
bics
in interfaceBICContainer
- Returns:
- list of BIC objects
-
getPartyIdentifier
public java.lang.String getPartyIdentifier()
Get the formatted Party Identifier (CD Mark + Account) The Party Indentifier has the following format:[/{cd-mark}]/{account}
- Specified by:
getPartyIdentifier
in interfacePartyIdentifier
- Returns:
- the formatted Party Identifier
-
setPartyIdentifier
public OptionAPartyField setPartyIdentifier(java.lang.String partyIdentifier)
Set the formatted Party Identifier (CD Mark + Account) The Party Indentifier has the following format:[/{cd-mark}]/{account}
If the format is not valid- Specified by:
setPartyIdentifier
in interfacePartyIdentifier
- Parameters:
partyIdentifier
- the formatted Party Identifier to set- Returns:
- the current OptionAPartyField
-
bicStrings
public java.util.List<java.lang.String> bicStrings()
Description copied from interface:BICContainer
Get a list of strings of BICs present in this field- Specified by:
bicStrings
in interfaceBICContainer
- Returns:
- a list, with zero or more BICs in this field.
-
-