|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.prowidesoftware.swift.model.SwiftMessage
public class SwiftMessage
Base class for swift messages.
This class is a generic data structure container for SWIFT messages.
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).
Field Summary | |
---|---|
protected java.lang.Long |
id
Identification of the message when persisted |
protected UnparsedTextList |
unparsedTexts
List of unparsed texts. |
protected java.util.List<SwiftBlockUser> |
userBlocks
User defined blocks List of SwiftBlockUser . |
Constructor Summary | |
---|---|
SwiftMessage()
Default constructor. |
|
SwiftMessage(boolean initBlocks)
Constructor that initializes blocks TODO document hibernate didn't work |
|
SwiftMessage(boolean initBlocks,
UnparsedTextList unparsedText)
Constructor for an unparsed text list that initializes blocks |
|
SwiftMessage(UnparsedTextList unparsedText)
Constructor for an unparsed text list |
Method Summary | |
---|---|
void |
addBlock(SwiftBlock b)
Add a block to this message. |
void |
addUserBlock(SwiftBlockUser userBlock)
Add a user defined block to the message (if the block already exists, it is replaced) |
void |
clear()
remove all blocks from these message, including user blocks |
boolean |
equals(java.lang.Object obj)
|
java.util.List<Field> |
fields(java.lang.String... names)
Get all fields with the given name in the block 4 |
java.lang.Integer |
fragmentCount()
Gets the total number of fragments of a fragmented message as informed in tag 203. |
java.lang.Integer |
fragmentNumber()
Gets the number of this fragment |
SwiftBlock |
getBlock(int b)
Get the block number specified by b. |
SwiftBlock1 |
getBlock1()
Get block number 1 of this message, may be null if not set |
SwiftBlock2 |
getBlock2()
Get block number 2 of this message, may be null if not set |
SwiftBlock3 |
getBlock3()
Get block number 3 of this message, may be null if not set |
SwiftBlock4 |
getBlock4()
Get block number 4 of this message, may be null if not set |
SwiftBlock5 |
getBlock5()
Get block number 5 of this message, may be null if not set |
int |
getBlockCount()
Get the number of blocks in this message, including the user blocks |
int |
getBlockCount(java.lang.Boolean includeUserBlocks)
Get the number of blocks in this message, optionally including the user blocks. A block is summed if it is not null and is not empty. |
MessageIOType |
getDirection()
Returns the message direction from block 2 or null if block 2 is not found or incomplete |
java.lang.Long |
getId()
Get the unique identifier of this message |
java.lang.String |
getMIR()
Gets MIR from the application header block or null if the the message is not incoming or the application header block is null |
java.lang.String |
getMUR()
Gets MUR from the application header block or null if the the message is not incoming or the application header block is null |
SequenceNode |
getParsedSequences()
|
java.lang.String |
getPDE()
Gets PDE from the trailer block or null if the trailer or the PDE field is not present |
java.lang.String |
getPDM()
Gets PDM from the trailer block or null if the trailer or the PDE field is not present |
java.lang.String |
getReceiver()
Gets the message receiver BIC from the message headers. |
java.lang.String |
getSender()
Gets the message sender BIC from the message headers. |
java.lang.String |
getType()
Tell the message type associated with this object if a block 2 is present. |
int |
getTypeInt()
get message type as an int or -1 if an error occurrs or it is not set |
UnparsedTextList |
getUnparsedTexts()
returns the unparsed text list |
java.lang.Integer |
getUnparsedTextsSize()
returns the size of the unparsed text list |
SwiftBlockUser |
getUserBlock(java.lang.Integer blockNumber)
Get a user defined block by number, may be null if not set |
SwiftBlockUser |
getUserBlock(java.lang.String blockName)
Get a user defined block by name, may be null if not set |
int |
getUserBlockPosition(java.lang.String blockName)
Finds the position of a given User Defined Block in the internal list |
java.util.List<SwiftBlockUser> |
getUserBlocks()
Get the list of List of SwiftBlockUser user defined blocks. |
java.lang.String |
getUUID()
Gets UUID |
int |
hashCode()
|
boolean |
isCOV()
Checks if the message is a cover payment, based on the content of the User Header (block3). |
java.lang.Boolean |
isFragment()
Checks if the message is a fragment |
java.lang.Boolean |
isLastFragment()
Checks if the message is the last fragment |
boolean |
isMT(java.lang.String type)
Attempt to identify the current message type (MT). |
boolean |
isSTP()
Checks if the message is Straight Through Processing (STP), based on the content of the User Header (block3). |
void |
removeEmptyBlocks()
Checks all blocks (1 to 5) and if a block is empty, it is removed from the message. |
void |
removeUserBlock(java.lang.Integer blockNumber)
removes a user defined block to the message (if the block does not exists, nothing is done) |
void |
removeUserBlock(java.lang.String blockName)
removes a user defined block to the message (if the block does not exists, nothing is done) |
void |
setBlock1(SwiftBlock1 block1)
Set the block 1 of the message |
void |
setBlock2(SwiftBlock2 block2)
Set the block 2 of the message |
void |
setBlock3(SwiftBlock3 block3)
Set the block 3 of the message |
void |
setBlock4(SwiftBlock4 block4)
Set the block 4 of the message |
void |
setBlock5(SwiftBlock5 block5)
Set the block 5 of the message |
void |
setId(java.lang.Long id)
Set the unique identifier of this message |
void |
setParsedSequences(SequenceNode parsedSequences)
|
void |
setUnparsedTexts(UnparsedTextList texts)
sets the list of unparsed texts |
protected void |
setUserBlocks(java.util.List<SwiftBlockUser> userBlocks)
Set the list of user defined blocks. This method is mainly needed for persistence services. |
java.lang.String |
toString()
Commons-lang reflection toString implementation |
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 |
void |
visit(IMessageVisitor visitor)
Visit the current message with the given visitor. |
void |
visit(SwiftBlock3 block,
IMessageVisitor visitor)
Visit a Block 3 (SwiftBlock3), i.e: call the tag method for block 3 This method is called from visit(IMessageVisitor) or the deprecated
#visit(SwiftBlock, IMessageVisitor) but may be used independently, in such case,
the startBlockX and endBlockX in the visitor will not be called. |
void |
visit(SwiftBlock4 block,
IMessageVisitor visitor)
Visit a Block 4 (SwiftBlock4), i.e: call the tag method for block 4 This method is called from visit(IMessageVisitor) or the deprecated
#visit(SwiftBlock, IMessageVisitor) but may be used independently, in such case,
the startBlockX and endBlockX in the visitor will not be called. |
void |
visit(SwiftBlock5 block,
IMessageVisitor visitor)
Visit a Block 5 (SwiftBlock5), i.e: call the tag method for block 4 This method is called from visit(IMessageVisitor) or the deprecated
#visit(SwiftBlock, IMessageVisitor) but may be used independently, in such case,
the startBlockX and endBlockX in the visitor will not be called. |
void |
visit(SwiftBlockUser block,
IMessageVisitor visitor)
Visit a User Defined Block (SwiftBlockUser), i.e: call the tag method for block 4 This method is called from visit(IMessageVisitor) or the deprecated
#visit(SwiftBlock, IMessageVisitor) but may be used independently, in such case,
the startBlockX and endBlockX in the visitor will not be called. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected java.util.List<SwiftBlockUser> userBlocks
SwiftBlockUser
.
protected UnparsedTextList unparsedTexts
protected java.lang.Long id
Constructor Detail |
---|
public SwiftMessage()
SwiftMessage(boolean)
public SwiftMessage(boolean initBlocks)
initBlocks
- when false
the message will not have any blocks when constructed, if true
blocks are created, just like with default constructorpublic SwiftMessage(boolean initBlocks, UnparsedTextList unparsedText)
initBlocks
- when false
the message will not have any blocks when constructed, if true
blocks are created, just like with default consturctorunparsedText
- the list of unparsed textsSwiftMessage()
public SwiftMessage(UnparsedTextList unparsedText)
unparsedText
- the list of unparsed textsSwiftMessage()
Method Detail |
---|
public SwiftBlock getBlock(int b)
b
- the block number to retrieve, must be greater or equal to 1 and smaller or equal to 5.
java.lang.IllegalArgumentException
- if b < 1 or b > 5public java.lang.String toString()
toString
in class java.lang.Object
public void addBlock(SwiftBlock b)
b
- the block to add, may be null
in which case nothing happens
java.lang.IllegalArgumentException
- b
is null
or the method getInt in the block returns a value out of range (non user blocks)public boolean isMT(java.lang.String type)
type
- must be a valid registered handler id
true
if this message is successfully identified as the given MT and false
in other case *
java.lang.IllegalArgumentException
- if parameter type is null
or not a valid type (i.e: 3 chars len)SwiftBlock2.getMessageType()
,
getType()
public java.lang.String getType()
null
if the message does not have a block 2.SwiftBlock2.getMessageType()
public void visit(IMessageVisitor visitor)
visitor
- the visitor to use
java.lang.IllegalArgumentException
- if parameter visitor is null
public void visit(SwiftBlock3 block, IMessageVisitor visitor)
visit(IMessageVisitor)
or the deprecated
#visit(SwiftBlock, IMessageVisitor)
but may be used independently, in such case,
the startBlockX and endBlockX in the visitor will not be called.
block
- the block containing the tags to visitvisitor
- the visitor to use
java.lang.IllegalArgumentException
- if parameter block or visitor are null
public void visit(SwiftBlock4 block, IMessageVisitor visitor)
visit(IMessageVisitor)
or the deprecated
#visit(SwiftBlock, IMessageVisitor)
but may be used independently, in such case,
the startBlockX and endBlockX in the visitor will not be called.
block
- the block containing the tags to visitvisitor
- the visitor to use
java.lang.IllegalArgumentException
- if parameter block or visitor are null
public void visit(SwiftBlock5 block, IMessageVisitor visitor)
visit(IMessageVisitor)
or the deprecated
#visit(SwiftBlock, IMessageVisitor)
but may be used independently, in such case,
the startBlockX and endBlockX in the visitor will not be called.
block
- the block containing the tags to visitvisitor
- the visitor to use
java.lang.IllegalArgumentException
- if parameter block or visitor are null
public void visit(SwiftBlockUser block, IMessageVisitor visitor)
visit(IMessageVisitor)
or the deprecated
#visit(SwiftBlock, IMessageVisitor)
but may be used independently, in such case,
the startBlockX and endBlockX in the visitor will not be called.
block
- the block containing the tags to visitvisitor
- the visitor to use
java.lang.IllegalArgumentException
- if parameter block or visitor are null
public java.lang.Long getId()
id
public void setId(java.lang.Long id)
id
- the id to be setid
public int getBlockCount()
public int getBlockCount(java.lang.Boolean includeUserBlocks)
null
and is not empty.
NOTE: that isEmpty() will be called in each block, the behaviour of isEmpty is block
dependent
includeUserBlocks
- indicates whether or not user defined blocks should be counted
SwiftBlock1.isEmpty()
,
SwiftBlock2Input.isEmpty()
,
SwiftBlock2Output.isEmpty()
,
SwiftTagListBlock.isEmpty()
,
SwiftTagListBlock.isEmpty()
,
SwiftTagListBlock.isEmpty()
public SwiftBlock1 getBlock1()
null
if not set
null
public void setBlock1(SwiftBlock1 block1)
block1
- the content of the block 1public SwiftBlock2 getBlock2()
null
if not set
null
public void setBlock2(SwiftBlock2 block2)
block2
- the content of the block 1public SwiftBlock3 getBlock3()
null
if not set
null
public void setBlock3(SwiftBlock3 block3)
block3
- the content of the block 1public SwiftBlock4 getBlock4()
null
if not set
null
public void setBlock4(SwiftBlock4 block4)
block4
- the content of the block 1public SwiftBlock5 getBlock5()
null
if not set
null
public void setBlock5(SwiftBlock5 block5)
block5
- the content of the block 5public int getUserBlockPosition(java.lang.String blockName)
blockName
- the block name to find may be empty or null, in which case this method does nothing
-1
if not foundpublic java.util.List<SwiftBlockUser> getUserBlocks()
SwiftBlockUser
user defined blocks.
The requested object may be null
if the message was cleared or not initialized.
protected void setUserBlocks(java.util.List<SwiftBlockUser> userBlocks)
userBlocks
- the new list of user defined blocks
java.lang.IllegalArgumentException
- if parameter userBlocks is null
java.lang.IllegalArgumentException
- if parameter userBlocks has elements of class other than SwiftBlockUserSwiftBlockUser
public SwiftBlockUser getUserBlock(java.lang.String blockName)
null
if not set
blockName
- the name of the block to find
null
java.lang.IllegalArgumentException
- if parameter blockName is null
java.lang.IllegalArgumentException
- if parameter blockName has an invalid block namepublic SwiftBlockUser getUserBlock(java.lang.Integer blockNumber)
null
if not set
blockNumber
- the number of the block to find
null
java.lang.IllegalArgumentException
- if parameter userBlock is null
java.lang.IllegalArgumentException
- if parameter userBlock has an invalid block namepublic void addUserBlock(SwiftBlockUser userBlock)
userBlock
- the user defined block
java.lang.IllegalArgumentException
- if parameter userBlock is null
java.lang.IllegalArgumentException
- if parameter userBlock has an invalid block namepublic void removeUserBlock(java.lang.Integer blockNumber)
blockNumber
- the block number to remove
java.lang.IllegalArgumentException
- if parameter blockNumber is null
java.lang.IllegalArgumentException
- if parameter blockNumber is invalidSwiftBlockUser.isValidName(Integer)
public void removeUserBlock(java.lang.String blockName)
blockName
- the block name to remove
java.lang.IllegalArgumentException
- if parameter blockName is null
java.lang.IllegalArgumentException
- if parameter blockName is invalidpublic void clear()
public java.lang.Boolean isFragment()
public java.lang.Boolean isLastFragment()
public java.lang.Integer fragmentCount()
public java.lang.Integer fragmentNumber()
java.lang.UnsupportedOperationException
- if the message is not a part of a fragmented messageprotected 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 number
java.lang.IllegalArgumentException
- if parameter index is null
java.lang.IndexOutOfBoundsException
- if parameter index is out of boundspublic java.lang.String unparsedTextGetText(java.lang.Integer index)
index
- the unparsed text number
java.lang.IllegalArgumentException
- if parameter index is null
java.lang.IndexOutOfBoundsException
- if parameter index is out of boundspublic SwiftMessage unparsedTextGetAsMessage(java.lang.Integer index)
index
- the unparsed text number
java.lang.IllegalArgumentException
- if parameter index is null
public void unparsedTextAddText(java.lang.String text)
text
- the unparsed text to append
java.lang.IllegalArgumentException
- if parameter text is null
public void unparsedTextAddText(SwiftMessage message)
message
- the message to be appended
java.lang.IllegalArgumentException
- if parameter message is null
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public boolean isCOV()
true
if tag119:COV is found at User Header (block3)public boolean isSTP()
true
if tag119:STP is found at User Header (block3)public java.lang.String getSender()
null
if blocks 1 or 2 are not found or incompletepublic java.lang.String getReceiver()
null
if blocks 1 or 2 are not found or incompletepublic java.util.List<Field> fields(java.lang.String... names)
names
-
java.lang.IllegalArgumentException
- if names is null
public void removeEmptyBlocks()
public int getTypeInt()
public MessageIOType getDirection()
public java.lang.String getPDE()
public java.lang.String getPDM()
public java.lang.String getMIR()
public java.lang.String getMUR()
public java.lang.String getUUID()
public SequenceNode getParsedSequences()
public void setParsedSequences(SequenceNode parsedSequences)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |