@Generated public class Field37B extends Field implements java.io.Serializable, DateContainer, AmountContainer
Model and parser for field 37B of a SWIFT MT message.
Subfields (components) Data types
Number
Calendar
String
Number
String
Structure definition
<AMOUNT>12[//<DATE2><DM>3n][/16x]
N[//<DATE2>cS][/S]
NESNS
This class complies with standard release SRU2020
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
COMPONENTS_PATTERN |
static java.lang.Integer |
DATE
Component number for the Date subfield
|
static java.lang.Integer |
DM_MARK
Component number for the D/M Mark subfield
|
static java.lang.String |
F_37B
same as NAME, intended to be clear when using static imports
|
static java.lang.Integer |
INFORMATION
Component number for the Information subfield
|
static java.lang.String |
NAME
Constant with the field name 37B
|
static java.lang.Integer |
NUMBER_OF_DAYSMONTHS
Component number for the Number of Days/Months subfield
|
static java.lang.String |
PARSER_PATTERN |
static java.lang.Integer |
RATE
Component number for the Rate subfield
|
static int |
SRU
Constant identifying the SRU to which this class belongs to.
|
components
Constructor and Description |
---|
Field37B()
Default constructor.
|
Field37B(java.lang.String value)
Creates a new field and initializes its components with content from the parameter value.
|
Field37B(Tag tag)
Creates a new field and initializes its components with content from the parameter tag.
|
Modifier and Type | Method and Description |
---|---|
java.math.BigDecimal |
amount()
Get the first amount in this field.
|
java.util.List<java.math.BigDecimal> |
amounts() |
java.lang.String |
componentsPattern()
Returns the field components pattern
|
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.util.List<java.util.Calendar> |
dates()
Get a calendar for every date found
|
static Tag |
emptyTag()
Create a Tag with this field name and an empty string as value
Shorthand for
new Tag(NAME, "") |
static Field37B |
fromJson(java.lang.String json)
This method deserializes the JSON data into a Field37B object.
|
static Field37B |
get(SwiftMessage msg)
Gets the first instance of Field37B in the given message.
|
static Field37B |
get(SwiftTagListBlock block)
Gets the first occurrence form the tag list or null if not found.
|
static java.util.List<Field37B> |
getAll(SwiftMessage msg)
Gets a list of all occurrences of the field Field37B in the given message
an empty list is returned if none found.
|
static java.util.List<Field37B> |
getAll(SwiftTagListBlock block)
Gets a list of all occurrences of the field Field37B from the given block
an empty list is returned if none found.
|
java.lang.String |
getComponent1()
Gets the component 1 (Rate).
|
java.lang.Number |
getComponent1AsNumber()
Get the component 1 as Number
|
java.lang.String |
getComponent2()
Gets the component 2 (Date).
|
java.util.Calendar |
getComponent2AsCalendar()
Get the component 2 as Calendar
|
java.lang.String |
getComponent3()
Gets the component 3 (D/M Mark).
|
java.lang.String |
getComponent4()
Gets the component 4 (Number of Days/Months).
|
java.lang.Number |
getComponent4AsNumber()
Get the component 4 as Number
|
java.lang.String |
getComponent5()
Gets the component 5 (Information).
|
protected 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 |
getDate()
Gets the Date (component 2).
|
java.util.Calendar |
getDateAsCalendar()
Get the Date (component 2) as Calendar
|
java.lang.String |
getDMMark()
Gets the D/M Mark (component 3).
|
java.lang.String |
getInformation()
Gets the Information (component 5).
|
java.lang.String |
getName()
Returns the field's name composed by the field number and the letter option (if any)
|
java.lang.String |
getNumberofDaysMonths()
Gets the Number of Days/Months (component 4).
|
java.lang.Number |
getNumberofDaysMonthsAsNumber()
Get the Number of Days/Months (component 4) as Number
|
java.lang.String |
getRate()
Gets the Rate (component 1).
|
java.lang.Number |
getRateAsNumber()
Get the Rate (component 1) as Number
|
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. |
static Field37B |
newInstance(Field37B source)
Copy constructor.
Initializes the components list with a deep copy of the source components list. |
void |
parse(java.lang.String value)
Parses the parameter value into the internal components structure.
|
java.lang.String |
parserPattern()
Returns the field parser pattern
|
Field37B |
setComponent1(java.lang.Number component1)
Set the component1 from a Number object.
|
Field37B |
setComponent1(java.lang.String component1)
Set the component1 (Rate).
|
Field37B |
setComponent2(java.util.Calendar component2)
Set the component2 from a Calendar object.
|
Field37B |
setComponent2(java.lang.String component2)
Set the component2 (Date).
|
Field37B |
setComponent3(java.lang.String component3)
Set the component3 (D/M Mark).
|
Field37B |
setComponent4(java.lang.Number component4)
Set the component4 from a Number object.
|
Field37B |
setComponent4(java.lang.String component4)
Set the component4 (Number of Days/Months).
|
Field37B |
setComponent5(java.lang.String component5)
Set the component5 (Information).
|
Field37B |
setDate(java.util.Calendar component2)
Set the Date (component2) from a Calendar object.
|
Field37B |
setDate(java.lang.String component2)
Set the Date (component2).
|
Field37B |
setDMMark(java.lang.String component3)
Set the D/M Mark (component3).
|
Field37B |
setInformation(java.lang.String component5)
Set the Information (component5).
|
Field37B |
setNumberofDaysMonths(java.lang.Number component4)
Set the Number of Days/Months (component4) from a Number object.
|
Field37B |
setNumberofDaysMonths(java.lang.String component4)
Set the Number of Days/Months (component4).
|
Field37B |
setRate(java.lang.Number component1)
Set the Rate (component1) from a Number object.
|
Field37B |
setRate(java.lang.String component1)
Set the Rate (component1).
|
static Tag |
tag(java.lang.String value)
Create a Tag with this field name and the given value.
|
java.lang.String |
validatorPattern()
Returns the field validator pattern
|
append, appendInLines, appendInLines, asTag, equals, findComponentStartingWith, format, formatAccount, formatNumber, getAsBigDecimal, getComponent, getComponentAs, getComponentAsNumber, getComponentLabel, getComponents, getConditionalQualifier, getDSS, getField, getField, getLabel, getLabel, getLabelComponents, getLine, getValueByCodeword, getValueDisplay, getValueDisplay, hashCode, init, is, is, is, is, isDSSPresent, isEmpty, isLetterOption, isNameAnyOf, joinComponents, joinComponents, joinComponents, joinComponents, letterOption, notNull, setComponent, setComponents, toJson, toString, validName
public static final int SRU
public static final java.lang.String NAME
public static final java.lang.String F_37B
public static final java.lang.String PARSER_PATTERN
public static final java.lang.String COMPONENTS_PATTERN
public static final java.lang.Integer RATE
public static final java.lang.Integer DATE
public static final java.lang.Integer DM_MARK
public static final java.lang.Integer NUMBER_OF_DAYSMONTHS
public static final java.lang.Integer INFORMATION
public Field37B()
public Field37B(java.lang.String value)
value
- complete field value including separators and CRLFpublic Field37B(Tag tag)
parse(String)
java.lang.IllegalArgumentException
- if the parameter tag is null or its tagname does not match the field namepublic static Field37B newInstance(Field37B source)
source
- a field instance to copypublic static Tag tag(java.lang.String value)
new Tag(NAME, value)
NAME
public static Tag emptyTag()
new Tag(NAME, "")
NAME
public void parse(java.lang.String value)
Used to update all components from a full new value, as an alternative to setting individual components. Previous component values are overwritten.
public java.lang.String getValue()
public java.lang.String getValueDisplay(int component, java.util.Locale locale)
getValueDisplay
in class Field
component
- number of the component to displaylocale
- optional locale to format date and amounts, if null, the default locale is usedjava.lang.IllegalArgumentException
- if component number is invalid for the fieldpublic final java.lang.String componentsPattern()
componentsPattern
in interface PatternContainer
componentsPattern
in class Field
public final java.lang.String parserPattern()
parserPattern
in interface PatternContainer
public final java.lang.String validatorPattern()
validatorPattern
in class Field
public boolean isOptional(int component)
isOptional
in class Field
component
- component number, first component of a field is referenced as 1public boolean isGeneric()
public int componentsSize()
componentsSize
in class Field
protected java.util.List<java.lang.String> getComponentLabels()
getComponentLabels
in class Field
Field.getComponentLabel(int)
protected java.util.Map<java.lang.Integer,java.lang.String> getComponentMap()
getComponentMap
in class Field
public java.lang.String getComponent1()
public java.lang.Number getComponent1AsNumber()
public java.lang.String getRate()
public java.lang.Number getRateAsNumber()
public java.lang.String getComponent2()
public java.util.Calendar getComponent2AsCalendar()
public java.lang.String getDate()
public java.util.Calendar getDateAsCalendar()
public java.lang.String getComponent3()
public java.lang.String getDMMark()
public java.lang.String getComponent4()
public java.lang.Number getComponent4AsNumber()
public java.lang.String getNumberofDaysMonths()
public java.lang.Number getNumberofDaysMonthsAsNumber()
public java.lang.String getComponent5()
public java.lang.String getInformation()
public java.util.List<java.util.Calendar> dates()
DateContainer
dates
in interface DateContainer
public java.util.List<java.math.BigDecimal> amounts()
AmountResolver.amounts(Field)
public java.math.BigDecimal amount()
AmountContainer
amount
in interface AmountContainer
AmountResolver.amount(Field)
public Field37B setComponent1(java.lang.String component1)
component1
- the component1 to setpublic Field37B setComponent1(java.lang.Number component1)
component1
- the Number with the component1 content to setpublic Field37B setRate(java.lang.String component1)
component1
- the Rate to setpublic Field37B setRate(java.lang.Number component1)
component1
- Number with the Rate content to setsetComponent1(java.lang.Number)
public Field37B setComponent2(java.lang.String component2)
component2
- the component2 to setpublic Field37B setComponent2(java.util.Calendar component2)
component2
- the Calendar with the component2 content to setpublic Field37B setDate(java.lang.String component2)
component2
- the Date to setpublic Field37B setDate(java.util.Calendar component2)
component2
- Calendar with the Date content to setsetComponent2(java.util.Calendar)
public Field37B setComponent3(java.lang.String component3)
component3
- the component3 to setpublic Field37B setDMMark(java.lang.String component3)
component3
- the D/M Mark to setpublic Field37B setComponent4(java.lang.String component4)
component4
- the component4 to setpublic Field37B setComponent4(java.lang.Number component4)
component4
- the Number with the component4 content to setpublic Field37B setNumberofDaysMonths(java.lang.String component4)
component4
- the Number of Days/Months to setpublic Field37B setNumberofDaysMonths(java.lang.Number component4)
component4
- Number with the Number of Days/Months content to setsetComponent4(java.lang.Number)
public Field37B setComponent5(java.lang.String component5)
component5
- the component5 to setpublic Field37B setInformation(java.lang.String component5)
component5
- the Information to setpublic java.lang.String getName()
public static Field37B get(SwiftTagListBlock block)
block
- may be null or emptypublic static Field37B get(SwiftMessage msg)
msg
- may be empty or nullget(SwiftTagListBlock)
public static java.util.List<Field37B> getAll(SwiftMessage msg)
msg
- may be empty or null in which case an empty list is returnedgetAll(SwiftTagListBlock)
public static java.util.List<Field37B> getAll(SwiftTagListBlock block)
block
- may be empty or null in which case an empty list is returnedpublic static Field37B fromJson(java.lang.String json)
json
- JSON structure including tuples with label and value for all field componentsField.fromJson(String)