public class Tag
extends java.lang.Object
implements java.io.Serializable
The "Tag" naming is used in the SWIFT standard to refer the fields identifiers composed by a number and an optional letter option, for example 32A. This class is used to model the complete field structure including both the field name ("Tag") and the field value.
Instances of this class may have a list of unparsed texts (UnparsedTextList).
For easy access, methods have been created that first ensure the lists exists (the
real object is created and then call the base method).
However, not all the base list methods have been implemented. If you need to use not
exposed functionality, retrieve the underlying list with (see getUnparsedTexts()
)
Modifier and Type | Field and Description |
---|---|
protected java.lang.Long |
id
Deprecated.
use persistence mapping in the AbstractSwiftMessage model instead
|
protected java.lang.String |
name
Name of the tag, usually a number that may be followed by a letter.
|
protected SequenceNode |
sequence
Deprecated.
to retrieve fields in sequences use the AbstractMT model
|
protected java.lang.Integer |
sortKey
Deprecated.
use persistence mapping in the AbstractSwiftMessage model instead
|
protected UnparsedTextList |
unparsedTexts
List of unparsed texts.
|
protected java.lang.String |
value
Value of the corresponding tag.
|
Constructor and Description |
---|
Tag()
Default constructor
|
Tag(java.lang.String inner)
Create a tag from the value in inner.
|
Tag(java.lang.String tagname,
java.lang.String value)
Create a tag with the given tagname and value
|
Tag(java.lang.String tagname,
java.lang.String value,
UnparsedTextList unparsedText)
Constructor for tag name and value and an unparsed text list
|
Tag(java.lang.String inner,
UnparsedTextList unparsedText)
Constructor for tag encoded value and an unparsed text list
|
Tag(UnparsedTextList unparsedText)
Constructor for an unparsed text list
|
Modifier and Type | Method and Description |
---|---|
Field |
asField()
Creates a Field instance for the given Tag object.
|
boolean |
contains(java.lang.String... values)
Tell if this tag value contains any of the given values.
|
boolean |
contains(java.lang.String searchStr)
equivalent to StringUtils.contains(tag.getValue(), searchStr)
|
boolean |
equals(java.lang.Object o) |
boolean |
equalsIgnoreCR(Tag other)
Similar to
equals(Object) but ignoring carriage returns characters in tag values. |
Field |
getField()
Deprecated.
use
asField() instead |
java.lang.Long |
getId()
Deprecated.
use persistence mapping in the AbstractSwiftMessage model instead
|
java.lang.String |
getLetterOption()
Iterate the current tagname and return only letters as told by
Character.isLetter(char) |
java.lang.String |
getName()
Get the name of this tag
|
int |
getNameAsInt()
Attempt to parse the tag name as an integer.
|
java.lang.Integer |
getNumber()
Iterate the current tagname and return only number as told by
Character.isDigit(char) |
java.lang.Integer |
getSortKey()
Deprecated.
use persistence mapping in the AbstractSwiftMessage model instead
|
UnparsedTextList |
getUnparsedTexts()
returns the unparsed text list
|
java.lang.Integer |
getUnparsedTextsSize()
returns the size of the unparsed text list
|
java.lang.String |
getValue()
Get the value of the tag.
Notice that in some cases the value can be null, for example the value of the "DLM" tag in this block: {5:{CHK:F9351591947F}{SYS:1610010606VNDZBET2AXXX0019000381}{DLM:}} |
int |
hashCode() |
boolean |
isNumber(int n)
Tells if this tagname is a given number, so the integer 58 will match 58A and 58D.
|
void |
setId(java.lang.Long id)
Deprecated.
use persistence mapping in the AbstractSwiftMessage model instead
|
void |
setName(java.lang.String name)
Set the tag name
|
void |
setNameValue(java.lang.String name,
java.lang.String value)
Shorthand equivalent to calling first
setName(String) and then setValue(String) |
void |
setSortKey(java.lang.Integer sortKey)
Deprecated.
use persistence mapping in the AbstractSwiftMessage model instead
|
void |
setUnparsedTexts(UnparsedTextList texts)
sets the list of unparsed texts
|
void |
setValue(java.lang.String value)
Sets the value of this tag.
|
boolean |
startsWith(java.lang.String prefix)
equivalent to StringUtils.startsWith(tag.getValue(), prefix)
|
java.lang.String |
toString() |
void |
unparsedTextAddText(java.lang.String text)
adds a new unparsed text
|
void |
unparsedTextAddText(SwiftMessage message)
adds a new unparsed text from a message
|
SwiftMessage |
unparsedTextGetAsMessage(java.lang.Integer index)
get an unparsed text as a parsed swift message
|
java.lang.String |
unparsedTextGetText(java.lang.Integer index)
get an unparsed text
|
java.lang.Boolean |
unparsedTextIsMessage(java.lang.Integer index)
decides if a specific text (by index) is likely a SWIFT FIN message.
|
protected void |
unparsedTextVerify()
verifies that the unparsed text list exists
|
@Deprecated @ProwideDeprecated(phase4=SRU2021) protected java.lang.Long id
@ProwideDeprecated(phase4=SRU2021) @Deprecated protected java.lang.Integer sortKey
protected java.lang.String name
protected java.lang.String value
protected UnparsedTextList unparsedTexts
@Deprecated @ProwideDeprecated(phase4=SRU2021) protected transient SequenceNode sequence
public Tag()
public Tag(java.lang.String inner)
If inner contains one ':' character, the string before is set as the tag name and the rest as the value. If inner contains more than one ':' characters, then the first value is used as previously described. If no ':' character is found the whole string is set as the tag value and the tag name is kept null (useful for bloc data)
Maps:
"" -> name=null, value=null "foo" -> name=null, value=foo ":foo" -> name=null, value=foo "foo:" -> name=foo, value=null "foo:bar" -> name=foo, value=bar
inner
- the string to build the tagjava.lang.IllegalArgumentException
- if inner is nullpublic Tag(java.lang.String tagname, java.lang.String value)
tagname
- name of this tagvalue
- the value of this tagjava.lang.IllegalArgumentException
- if parameter tagname or value are nullpublic Tag(UnparsedTextList unparsedText)
unparsedText
- the list of unparsed textsTag()
public Tag(java.lang.String inner, UnparsedTextList unparsedText)
inner
- the string to build the tagunparsedText
- the list of unparsed textsjava.lang.IllegalArgumentException
- if parameter inner is nullTag(String)
public Tag(java.lang.String tagname, java.lang.String value, UnparsedTextList unparsedText)
tagname
- name of this tagvalue
- the value of this tagunparsedText
- the list of unparsed textsjava.lang.IllegalArgumentException
- if parameter tagname or value are nullTag(String,String)
public java.lang.String getName()
public void setName(java.lang.String name)
name
- the name of the tag to be setjava.lang.IllegalArgumentException
- if parameter name is nullpublic java.lang.String getValue()
public void setValue(java.lang.String value)
value
- the value for the tag, may be nullpublic java.lang.String toString()
toString
in class java.lang.Object
@Deprecated @ProwideDeprecated(phase4=SRU2021) public java.lang.Long getId()
@Deprecated @ProwideDeprecated(phase4=SRU2021) public void setId(java.lang.Long id)
id
- the id to be setsortKey
@Deprecated @ProwideDeprecated(phase4=SRU2021) public java.lang.Integer getSortKey()
sortKey
@Deprecated @ProwideDeprecated(phase4=SRU2021) public void setSortKey(java.lang.Integer sortKey)
sortKey
- the new sortkeyprotected void unparsedTextVerify()
public UnparsedTextList getUnparsedTexts()
public void setUnparsedTexts(UnparsedTextList texts)
texts
- the new list of unparsed texts (may be null)public java.lang.Integer getUnparsedTextsSize()
public java.lang.Boolean unparsedTextIsMessage(java.lang.Integer index)
index
- the unparsed text numberjava.lang.IllegalArgumentException
- if parameter index is nulljava.lang.IndexOutOfBoundsException
- if parameter index is out of boundspublic java.lang.String unparsedTextGetText(java.lang.Integer index)
index
- the unparsed text numberjava.lang.IllegalArgumentException
- if parameter index is nulljava.lang.IndexOutOfBoundsException
- if parameter index is out of boundspublic SwiftMessage unparsedTextGetAsMessage(java.lang.Integer index)
index
- the unparsed text numberjava.lang.IllegalArgumentException
- if parameter index is nullpublic void unparsedTextAddText(java.lang.String text)
text
- the unparsed text to appendjava.lang.IllegalArgumentException
- if parameter text is nullpublic void unparsedTextAddText(SwiftMessage message)
message
- the message to be appendedjava.lang.IllegalArgumentException
- if parameter message is nullpublic boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public boolean equalsIgnoreCR(Tag other)
equals(Object)
but ignoring carriage returns characters in tag values.
Meaning CRLF in any of the tags will match both CRLF in the other tag and just LF in the other tagother
- another tag to comparepublic int getNameAsInt()
public boolean isNumber(int n)
n
- the number that this tagname will be compared totrue
if this tagname starts with the given number or false
in any other casepublic java.lang.Integer getNumber()
Character.isDigit(char)
public java.lang.String getLetterOption()
Character.isLetter(char)
@Deprecated @ProwideDeprecated(phase4=SRU2021) public Field getField()
asField()
insteadpublic boolean contains(java.lang.String... values)
values
- variable list of values to testtrue
if the value of this tag is one of the given values.
returns false
in any other case, including a null or empty list of valuespublic void setNameValue(java.lang.String name, java.lang.String value)
setName(String)
and then setValue(String)
name
- the tagnamevalue
- the tagvaluepublic boolean startsWith(java.lang.String prefix)
public boolean contains(java.lang.String searchStr)
public Field asField()
Field.getField(Tag)