Class OptionJPartyField
- java.lang.Object
-
- com.prowidesoftware.swift.model.field.Field
-
- com.prowidesoftware.swift.model.field.OptionJPartyField
-
- All Implemented Interfaces:
JsonSerializable
,PatternContainer
- Direct Known Subclasses:
Field53J
,Field56J
,Field57J
,Field58J
,Field81J
,Field82J
,Field83J
,Field84J
,Field85J
,Field86J
,Field87J
,Field88J
,Field89J
,Field91J
,Field96J
public abstract class OptionJPartyField extends Field
Party IdentificationSubfields (components) Data types
- Component 1: PartyIdentification:
String
Structure definition
- parser pattern:
S
- components pattern:
S
- Since:
- 7.11.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
OptionJPartyField.Codeword
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
PARSER_PATTERN
static java.lang.Integer
PARTY_IDENTIFICATION
Component number for the Party Identification subfieldstatic 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 OptionJPartyField()
Default constructor.OptionJPartyField(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
getComponent1()
Gets the component1 (Party Identification).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.protected 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
getPartyIdentification()
Gets the Party Identification (component1).java.lang.String
getValue()
Serializes the fields' components into the single string value (SWIFT format)java.lang.String
getValueByCodeword(OptionJPartyField.Codeword codeword)
Returns the value following the parameter codeword or null if the codeword or its following value are not found.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 patternjava.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
-
PARTY_IDENTIFICATION
public static final java.lang.Integer PARTY_IDENTIFICATION
Component number for the Party Identification subfield
-
-
Constructor Detail
-
OptionJPartyField
public OptionJPartyField()
Default constructor. Creates a new field setting all components to null.
-
OptionJPartyField
public OptionJPartyField(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- 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 (Party Identification).- Returns:
- the component1
-
getPartyIdentification
public java.lang.String getPartyIdentification()
Gets the Party Identification (component1).- Returns:
- the Party Identification from component1
-
getValueByCodeword
public java.lang.String getValueByCodeword(OptionJPartyField.Codeword codeword)
Returns the value following the parameter codeword or null if the codeword or its following value are not found.For
OptionJPartyField.Codeword.NETS
orOptionJPartyField.Codeword.SSIS
it will always return null, because those codewords cannot be followed by a value. Breaking lines are ignored, meaning both codewords and values split along lines will be joined before processing.- Parameters:
codeword
- a valid codeword to search- Returns:
- found value following the codeword or null if the codeword or its value are not found
- Since:
- 7.11.0
-
-