Class OptionBPartyField
- java.lang.Object
-
- com.prowidesoftware.swift.model.field.Field
-
- com.prowidesoftware.swift.model.field.OptionBPartyField
-
- All Implemented Interfaces:
JsonSerializable
,PartyIdentifier
,PatternContainer
- Direct Known Subclasses:
Field52B
,Field53B
,Field54B
,Field55B
,Field56B
,Field57B
,Field58B
,Field82B
,Field84B
,Field85B
,Field86B
,Field87B
,Field88B
public abstract class OptionBPartyField extends Field implements PartyIdentifier
Branch of Sender/ReceiverSubfields (components) Data types
- Component 1: DCMark:
String
- Component 2: Account:
String
- Component 3: Location:
String
Structure definition
- parser pattern:
[[/c][/S]$][S]
- components pattern:
SSS
- 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
LOCATION
Component number for the Location 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 OptionBPartyField()
Default constructor.OptionBPartyField(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 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.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 (Location).java.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).protected java.util.Map<java.lang.String,java.lang.Integer>
getLabelMap()
Returns a mapping between component labels and the internal component number.java.lang.String
getLocation()
Gets the Location (component3).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 patternOptionBPartyField
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
-
LOCATION
public static final java.lang.Integer LOCATION
Component number for the Location subfield
-
-
Constructor Detail
-
OptionBPartyField
public OptionBPartyField()
Default constructor. Creates a new field setting all components to null.
-
OptionBPartyField
public OptionBPartyField(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.
-
getValue
public java.lang.String getValue()
Serializes the fields' components into the single string value (SWIFT format)
-
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
-
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()
-
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)
-
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 (Location).- Returns:
- the component3
-
getLocation
public java.lang.String getLocation()
Gets the Location (component3).- Returns:
- the Location from component3
-
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 OptionBPartyField 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 OptionBPartyField
-
-