Class OptionRPartyField
- java.lang.Object
-
- com.prowidesoftware.swift.model.field.Field
-
- com.prowidesoftware.swift.model.field.OptionRPartyField
-
- All Implemented Interfaces:
JsonSerializable,PatternContainer
- Direct Known Subclasses:
Field95R
public abstract class OptionRPartyField extends Field
PartySubfields (components) Data types
- Component 1: Qualifier:
String - Component 2: DataSourceScheme:
String - Component 3: ProprietaryCode:
String
Structure definition
- parser pattern:
:S/S/S - components pattern:
SSS
- Since:
- 7.11.0
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.IntegerDATA_SOURCE_SCHEMEComponent number for the Data Source Scheme subfieldstatic java.lang.StringPARSER_PATTERNstatic java.lang.IntegerPROPRIETARY_CODEComponent number for the Proprietary Code subfieldstatic java.lang.IntegerQUALIFIERComponent number for the Qualifier subfieldstatic java.lang.StringTYPES_PATTERNTypes 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 OptionRPartyField()Default constructor.OptionRPartyField(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 intcomponentsSize()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.StringgetComponent1()Gets the component1 (Qualifier).java.lang.StringgetComponent2()Gets the component2 (Data Source Scheme).java.lang.StringgetComponent3()Gets the component3 (Proprietary Code).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.StringgetDataSourceScheme()Gets the Data Source Scheme (component2).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.StringgetName()Returns the field's name composed by the field number and the letter option (if any)java.lang.StringgetProprietaryCode()Gets the Proprietary Code (component3).java.lang.StringgetQualifier()Gets the Qualifier (component1).java.lang.StringgetValue()Serializes the fields' components into the single string value (SWIFT format)java.lang.StringgetValueDisplay(int component, java.util.Locale locale)Returns a localized suitable for showing to humans string of a field component.booleanisGeneric()Returns true if the field is a GENERIC FIELD as specified by the standard.booleanisOptional(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.voidparse(java.lang.String value)Parses the parameter value into the internal components structure.java.lang.StringparserPattern()Returns the field parser patternjava.lang.StringtypesPattern()Returns the field component types pattern This method returns a letter representing the type for each component in the Field.abstract java.lang.StringvalidatorPattern()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
-
QUALIFIER
public static final java.lang.Integer QUALIFIER
Component number for the Qualifier subfield
-
DATA_SOURCE_SCHEME
public static final java.lang.Integer DATA_SOURCE_SCHEME
Component number for the Data Source Scheme subfield
-
PROPRIETARY_CODE
public static final java.lang.Integer PROPRIETARY_CODE
Component number for the Proprietary Code subfield
-
-
Constructor Detail
-
OptionRPartyField
public OptionRPartyField()
Default constructor. Creates a new field setting all components to null.
-
OptionRPartyField
public OptionRPartyField(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:
getValueDisplayin 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:
typesPatternin interfacePatternContainer- Specified by:
typesPatternin 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:
validatorPatternin 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:
isOptionalin 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:
componentsSizein 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:
getComponentLabelsin 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:
getComponentMapin classField- Since:
- 7.10.3
-
getLabelMap
protected java.util.Map<java.lang.String,java.lang.Integer> getLabelMap()
Description copied from class:FieldReturns 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:
getLabelMapin classField- Since:
- 9.3.12
- See Also:
Field.getLabelMap()
-
getName
public abstract java.lang.String getName()
Description copied from class:FieldReturns the field's name composed by the field number and the letter option (if any)
-
getComponent1
public java.lang.String getComponent1()
Gets the component1 (Qualifier).- Returns:
- the component1
-
getQualifier
public java.lang.String getQualifier()
Gets the Qualifier (component1).- Returns:
- the Qualifier from component1
-
getComponent2
public java.lang.String getComponent2()
Gets the component2 (Data Source Scheme).- Returns:
- the component2
-
getDataSourceScheme
public java.lang.String getDataSourceScheme()
Gets the Data Source Scheme (component2).- Returns:
- the Data Source Scheme from component2
-
getComponent3
public java.lang.String getComponent3()
Gets the component3 (Proprietary Code).- Returns:
- the component3
-
getProprietaryCode
public java.lang.String getProprietaryCode()
Gets the Proprietary Code (component3).- Returns:
- the Proprietary Code from component3
-
-