public class Tag
extends java.lang.Object
implements java.io.Serializable
null
;
Multiline tags are read with readline, so while swift defines \r\n to be the line terminator, the parser accepts a more wide range of line terminations. The values are stored in swift line terminators, that is always \r\n, so be aware that if a multiline field is separated with \n parse will be successfully but the returned value will be separated by \r\n
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 method)
Modifier and Type | Field and Description |
---|---|
protected java.lang.Long |
id
Unique identified when this tag is a persisted element
|
protected java.lang.String |
name
Name of the tag, usually a number that may be followed by a letter.
|
protected SequenceNode |
sequence
Reference to the sequence node, if any, that this tags belongs to.
|
protected java.lang.Integer |
sortKey
Indicates the position of this tag in a message when persisted.
|
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() |
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 obj) |
Field |
getField() |
java.lang.Long |
getId()
Get the unique identifier of the tag if it is persisted
|
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()
get the sortkey of this tag
|
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)
Set the unique identifier of the tag if it is persisted
|
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)
Set the sortkey of this tag.
|
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
|
protected java.lang.Long id
protected java.lang.String name
null
.protected SequenceNode sequence
protected java.lang.Integer sortKey
protected UnparsedTextList unparsedTexts
protected java.lang.String value
public Tag()
public Tag(java.lang.String inner)
null
(useful for bloc data)
"" -> 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 null
public 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 null
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 null
Tag(String,String)
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 null
Tag(String)
public Tag(UnparsedTextList unparsedText)
unparsedText
- the list of unparsed textsTag()
public Field asField()
null
if an error occurspublic boolean contains(java.lang.String... values)
StringUtils.contains(String,String)
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 boolean contains(java.lang.String searchStr)
StringUtils.contains(String, String)
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public Field getField()
Field.getField(Tag)
public java.lang.Long getId()
null
if it is not a persistent objectpublic java.lang.String getLetterOption()
Character.isLetter(char)
null
if no letters are foundpublic java.lang.String getName()
public int getNameAsInt()
public java.lang.Integer getNumber()
Character.isDigit(char)
null
if no digits are foundpublic java.lang.Integer getSortKey()
sortKey
public UnparsedTextList getUnparsedTexts()
public java.lang.Integer getUnparsedTextsSize()
public java.lang.String getValue()
null
if the value was not setpublic int hashCode()
hashCode
in class java.lang.Object
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 void setId(java.lang.Long id)
id
- the id to be setsortKey
public void setName(java.lang.String name)
name
- the name of the tag to be setjava.lang.IllegalArgumentException
- if parameter name is null
public void setNameValue(java.lang.String name, java.lang.String value)
setName(String)
and then setValue(String)
name
- the tagnamevalue
- the tagvaluepublic void setSortKey(java.lang.Integer sortKey)
sortKey
- the new sortkeypublic void setUnparsedTexts(UnparsedTextList texts)
texts
- the new list of unparsed texts (may be null)public void setValue(java.lang.String value)
value
- the value for the tag, may be null
public boolean startsWith(java.lang.String prefix)
public java.lang.String toString()
toString
in class java.lang.Object
public void unparsedTextAddText(java.lang.String text)
text
- the unparsed text to appendjava.lang.IllegalArgumentException
- if parameter text is null
public void unparsedTextAddText(SwiftMessage message)
message
- the message to be appendedjava.lang.IllegalArgumentException
- if parameter message is null
public SwiftMessage unparsedTextGetAsMessage(java.lang.Integer index)
index
- the unparsed text numberjava.lang.IllegalArgumentException
- if parameter index is null
public java.lang.String unparsedTextGetText(java.lang.Integer index)
index
- the unparsed text numberjava.lang.IllegalArgumentException
- if parameter index is null
java.lang.IndexOutOfBoundsException
- if parameter index is out of boundspublic java.lang.Boolean unparsedTextIsMessage(java.lang.Integer index)
index
- the unparsed text numberjava.lang.IllegalArgumentException
- if parameter index is null
java.lang.IndexOutOfBoundsException
- if parameter index is out of boundsprotected void unparsedTextVerify()