@Generated public class Field33D extends Field implements java.io.Serializable, MonetaryAmountContainer, DateContainer
Model and parser for field 33D of a SWIFT MT message.
Subfields (components) Data types
Calendar
Currency
BigDecimal
Structure definition
<DATE2><CUR><AMOUNT>15
<DATE2>SN
ECN
This class complies with standard release SRU2023
Modifier and Type | Field and Description |
---|---|
static java.lang.Integer |
AMOUNT
Component number for the Amount subfield.
|
static java.lang.String |
COMPONENTS_PATTERN
Deprecated.
Use
typesPattern() method instead. |
static java.lang.Integer |
CURRENCY
Component number for the Currency subfield.
|
static java.lang.Integer |
DATE
Component number for the Date subfield.
|
static java.lang.String |
F_33D
Same as NAME, intended to be clear when using static imports.
|
static java.lang.String |
NAME
Constant with the field name 33D.
|
static java.lang.String |
PARSER_PATTERN
Deprecated.
Use
parserPattern() method instead. |
static int |
SRU
Constant identifying the SRU to which this class belongs to.
|
static java.lang.String |
TYPES_PATTERN
Deprecated.
Use
typesPattern() method instead. |
components, labelMap
Constructor and Description |
---|
Field33D()
Default constructor.
|
Field33D(java.lang.String value)
Creates a new field and initializes its components with content from the parameter value.
|
Field33D(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()
Returns the first amounts as BigDecimal
|
java.util.List<java.math.BigDecimal> |
amounts()
Returns the list of all NON-NULL amounts as BigDecimal
|
java.lang.String |
componentsPattern()
Deprecated.
Use
typesPattern() instead. |
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.Currency> |
currencies()
Utility method that creates a Currency for every string returned by
CurrencyContainer.currencyStrings() |
java.util.Currency |
currency()
Analog to
CurrencyContainer.currencyString() |
java.lang.String |
currencyString()
Get the single currency contained in this field.
|
java.util.List<java.lang.String> |
currencyStrings()
Get a list of strings of currencies present in this field
|
java.util.Calendar |
date()
Returns the first component that can be converted to a Calendar
|
java.util.List<java.util.Calendar> |
dates()
Returns all components that can be converted to a Calendar
|
static Tag |
emptyTag()
Create a Tag with this field name and an empty string as value.
|
static Field33D |
fromJson(java.lang.String json)
This method deserializes the JSON data into a Field33D object.
|
static Field33D |
get(SwiftMessage msg)
Gets the first instance of Field33D in the given message.
|
static Field33D |
get(SwiftTagListBlock block)
Gets the first occurrence form the tag list or null if not found.
|
static java.util.List<Field33D> |
getAll(SwiftMessage msg)
Gets a list of all occurrences of the field Field33D in the given message
an empty list is returned if none found.
|
static java.util.List<Field33D> |
getAll(SwiftTagListBlock block)
Gets a list of all occurrences of the field Field33D from the given block
an empty list is returned if none found.
|
java.lang.String |
getAmount()
Gets the Amount (component 3).
|
java.math.BigDecimal |
getAmountAsBigDecimal()
Get the Amount (component 3) as BigDecimal
|
java.lang.Number |
getAmountAsNumber()
Deprecated.
use #getAmountAsBigDecimal() instead
|
java.lang.String |
getComponent1()
Gets the component 1 (Date).
|
java.util.Calendar |
getComponent1AsCalendar()
Get the component 1 as Calendar
|
java.lang.String |
getComponent2()
Gets the component 2 (Currency).
|
java.util.Currency |
getComponent2AsCurrency()
Get the component 2 as Currency
|
java.lang.String |
getComponent3()
Gets the component 3 (Amount).
|
java.math.BigDecimal |
getComponent3AsBigDecimal()
Get the component 3 as BigDecimal
|
java.lang.Number |
getComponent3AsNumber()
Deprecated.
use #getComponent3AsBigDecimal() instead
|
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 |
getCurrency()
Gets the Currency (component 2).
|
java.util.Currency |
getCurrencyAsCurrency()
Get the Currency (component 2) as Currency
|
java.lang.String |
getDate()
Gets the Date (component 1).
|
java.util.Calendar |
getDateAsCalendar()
Get the Date (component 1) as Calendar
|
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 |
getName()
Returns the field's name composed by the field number and the letter option (if any).
|
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.
|
void |
initializeCurrencies(java.util.Currency cur) |
void |
initializeCurrencies(java.lang.String cur)
Set the currency of this field.
|
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 Field33D |
newInstance(Field33D source)
Copy constructor.
|
void |
parse(java.lang.String value)
Parses the parameter value into the internal components structure.
|
java.lang.String |
parserPattern()
Returns the field parser pattern.
|
Field33D |
setAmount(java.math.BigDecimal component3)
Set the Amount (component 3) from a BigDecimal object.
|
Field33D |
setAmount(java.lang.Number component3)
Alternative method setter for field's Amount (component 3) as as Number
This method supports java constant value boxing for simpler coding styles (ex: 10 becomes an Integer)
|
Field33D |
setAmount(java.lang.String component3)
Set the Amount (component 3).
|
Field33D |
setComponent1(java.util.Calendar component1)
Set the component1 from a Calendar object.
|
Field33D |
setComponent1(java.lang.String component1)
Set the component 1 (Date).
|
Field33D |
setComponent2(java.util.Currency component2)
Set the component2 from a Currency object.
|
Field33D |
setComponent2(java.lang.String component2)
Set the component 2 (Currency).
|
Field33D |
setComponent3(java.math.BigDecimal component3)
Set the component3 from a BigDecimal object.
|
Field33D |
setComponent3(java.lang.Number component3)
Alternative method setter for field's Amount (component 3) as as Number
This method supports java constant value boxing for simpler coding styles (ex: 10.0 becomes an Float)
|
Field33D |
setComponent3(java.lang.String component3)
Set the component 3 (Amount).
|
Field33D |
setCurrency(java.util.Currency component2)
Set the Currency (component 2) from a Currency object.
|
Field33D |
setCurrency(java.lang.String component2)
Set the Currency (component 2).
|
Field33D |
setDate(java.util.Calendar component1)
Set the Date (component 1) from a Calendar object.
|
Field33D |
setDate(java.lang.String component1)
Set the Date (component 1).
|
static Tag |
tag(java.lang.String value)
Create a Tag with this field name and the given value.
|
java.lang.String |
typesPattern()
Returns the field component types pattern.
|
java.lang.String |
validatorPattern()
Returns the field validator pattern
|
append, appendInLines, appendInLines, asTag, componentNameToNumber, equals, findComponentStartingWith, format, formatAccount, formatNumber, 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
public static final int SRU
public static final java.lang.String NAME
public static final java.lang.String F_33D
@Deprecated @ProwideDeprecated(phase4=SRU2024) public static final java.lang.String PARSER_PATTERN
parserPattern()
method instead.@Deprecated @ProwideDeprecated(phase4=SRU2024) public static final java.lang.String COMPONENTS_PATTERN
typesPattern()
method instead.@Deprecated @ProwideDeprecated(phase4=SRU2024) public static final java.lang.String TYPES_PATTERN
typesPattern()
method instead.public static final java.lang.Integer DATE
public static final java.lang.Integer CURRENCY
public static final java.lang.Integer AMOUNT
public Field33D()
public Field33D(java.lang.String value)
value
- complete field value including separators and CRLFpublic Field33D(Tag tag)
parse(String)
java.lang.IllegalArgumentException
- if the parameter tag is null or its tagname does not match the field namepublic static Field33D newInstance(Field33D 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 field@Deprecated @ProwideDeprecated(phase4=SRU2024) public java.lang.String componentsPattern()
typesPattern()
instead.componentsPattern
in class Field
public java.lang.String typesPattern()
typesPattern
in interface PatternContainer
typesPattern
in class Field
public java.lang.String parserPattern()
parserPattern
in interface PatternContainer
public 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
public 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
protected java.util.Map<java.lang.String,java.lang.Integer> getLabelMap()
Field
getLabelMap
in class Field
Field.getLabelMap()
public java.lang.String getComponent1()
public java.util.Calendar getComponent1AsCalendar()
public java.lang.String getDate()
public java.util.Calendar getDateAsCalendar()
public java.lang.String getComponent2()
public java.util.Currency getComponent2AsCurrency()
public java.lang.String getCurrency()
public java.util.Currency getCurrencyAsCurrency()
public java.lang.String getComponent3()
public java.math.BigDecimal getComponent3AsBigDecimal()
@Deprecated @ProwideDeprecated(phase4=SRU2024) public java.lang.Number getComponent3AsNumber()
public java.lang.String getAmount()
public java.math.BigDecimal getAmountAsBigDecimal()
@Deprecated @ProwideDeprecated(phase4=SRU2024) public java.lang.Number getAmountAsNumber()
public Field33D setComponent1(java.lang.String component1)
component1
- the Date to setpublic Field33D setComponent1(java.util.Calendar component1)
component1
- the Calendar with the Date content to setpublic Field33D setDate(java.lang.String component1)
component1
- the Date to setpublic Field33D setDate(java.util.Calendar component1)
component1
- Calendar with the Date content to setsetComponent1(java.util.Calendar)
public Field33D setComponent2(java.lang.String component2)
component2
- the Currency to setpublic Field33D setComponent2(java.util.Currency component2)
component2
- the Currency with the Currency content to setpublic Field33D setCurrency(java.lang.String component2)
component2
- the Currency to setpublic Field33D setCurrency(java.util.Currency component2)
component2
- Currency with the Currency content to setsetComponent2(java.util.Currency)
public Field33D setComponent3(java.lang.String component3)
component3
- the Amount to setpublic Field33D setComponent3(java.math.BigDecimal component3)
component3
- the BigDecimal with the Amount content to setpublic Field33D setComponent3(java.lang.Number component3)
component3
- the Number with the Amount content to setsetAmount(java.math.BigDecimal)
public Field33D setAmount(java.lang.String component3)
component3
- the Amount to setpublic Field33D setAmount(java.math.BigDecimal component3)
component3
- BigDecimal with the Amount content to setsetComponent3(java.math.BigDecimal)
public Field33D setAmount(java.lang.Number component3)
component3
- the Number with the Amount content to setsetAmount(java.math.BigDecimal)
public java.util.List<java.lang.String> currencyStrings()
CurrencyContainer
currencyStrings
in interface CurrencyContainer
public java.util.List<java.util.Currency> currencies()
CurrencyContainer
CurrencyContainer.currencyStrings()
currencies
in interface CurrencyContainer
public java.util.Currency currency()
CurrencyContainer
CurrencyContainer.currencyString()
currency
in interface CurrencyContainer
CurrencyContainer.currencyStrings()
,
CurrencyContainer.currencyString()
public java.lang.String currencyString()
CurrencyContainer
currencyString
in interface CurrencyContainer
public void initializeCurrencies(java.lang.String cur)
CurrencyContainer
initializeCurrencies
in interface CurrencyContainer
public void initializeCurrencies(java.util.Currency cur)
initializeCurrencies
in interface CurrencyContainer
CurrencyContainer.initializeCurrencies(String)
public java.util.List<java.math.BigDecimal> amounts()
MonetaryAmountResolver.amounts(Field)
public java.math.BigDecimal amount()
amount
in interface AmountContainer
MonetaryAmountResolver.amount(Field)
public java.util.List<java.util.Calendar> dates()
dates
in interface DateContainer
public java.util.Calendar date()
public java.lang.String getName()
public static Field33D get(SwiftTagListBlock block)
block
- may be null or emptypublic static Field33D get(SwiftMessage msg)
msg
- may be empty or nullget(SwiftTagListBlock)
public static java.util.List<Field33D> getAll(SwiftMessage msg)
msg
- may be empty or null in which case an empty list is returnedgetAll(SwiftTagListBlock)
public static java.util.List<Field33D> getAll(SwiftTagListBlock block)
block
- may be empty or null in which case an empty list is returnedpublic static Field33D fromJson(java.lang.String json)
json
- JSON structure including tuples with label and value for all field componentsField.fromJson(String)