public abstract class CompositeResponseHandler extends ReceivedDataHandler
This abstract class provides a mechanism to process each PDU of a composite response as it is received, such as for evaluating the status of the response for success.
Typically a private sub-class would be declared and instantiated with overriding methods to evaluate the success or failure of a storage or query or retrieve response.
ReceivedDataHandler
,
StorageSOPClassSCU
,
FindSOPClassSCU
Modifier and Type | Field and Description |
---|---|
protected boolean |
allowData |
protected byte[] |
commandReceived |
protected byte[] |
dataReceived |
protected int |
status |
protected boolean |
success |
debugLevel, done, release
Constructor and Description |
---|
CompositeResponseHandler(int debugLevel)
Construct a handler to process each PDU of a composite response as it is received,
evaluating the status of the response for success.
|
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
dumpAttributeListFromCommandOrData(byte[] bytes,
java.lang.String transferSyntaxUID)
Extract an
AttributeList from the concatenated bytes
that have been assembled from one or more PDUs and which make up an entire
Command or Dataset. |
protected abstract void |
evaluateStatusAndSetSuccess(AttributeList list)
Extract the status information from a composite response
and set the status flag accordingly.
|
static AttributeList |
getAttributeListFromCommandOrData(byte[] bytes,
java.lang.String transferSyntaxUID,
int debugLevel)
Extract an
AttributeList from the concatenated bytes
that have been assembled from one or more PDUs and which make up an entire
Command or Dataset. |
int |
getStatus()
Get the response status
Valid only after first calling
evaluateStatusAndSetSuccess() |
protected void |
makeUseOfDataSet(AttributeList list)
Ignore any data set in the composite response (unless this method is overridden).
|
void |
sendPDataIndication(PDataPDU pdata,
Association association)
The code handling the reception of data on an
Association calls
this method to indicate that a PDU has been received (a P-DATA-INDICATION). |
boolean |
wasSuccessful()
Does the response include an indication of success ?
|
dumpPDVList, isDone, isToBeReleased, setDone, setRelease
protected byte[] commandReceived
protected byte[] dataReceived
protected boolean success
protected boolean allowData
protected int status
public CompositeResponseHandler(int debugLevel)
debugLevel
- 0 for no debugging, > 0 for increasingly verbose debuggingpublic static AttributeList getAttributeListFromCommandOrData(byte[] bytes, java.lang.String transferSyntaxUID, int debugLevel) throws DicomNetworkException, DicomException, java.io.IOException
AttributeList
from the concatenated bytes
that have been assembled from one or more PDUs and which make up an entire
Command or Dataset.bytes
- the concatenated PDU bytes up to and including the last fragmenttransferSyntaxUID
- the Transfer Syntax to use to interpret the bytesdebugLevel
- integer debug leveljava.io.IOException
DicomException
DicomNetworkException
public static java.lang.String dumpAttributeListFromCommandOrData(byte[] bytes, java.lang.String transferSyntaxUID) throws DicomNetworkException, DicomException, java.io.IOException
AttributeList
from the concatenated bytes
that have been assembled from one or more PDUs and which make up an entire
Command or Dataset.bytes
- the concatenated PDU bytes up to and including the last fragmenttransferSyntaxUID
- the Transfer Syntax to use to interpret the bytesjava.io.IOException
DicomException
DicomNetworkException
public void sendPDataIndication(PDataPDU pdata, Association association) throws DicomNetworkException, DicomException, java.io.IOException
Association
calls
this method to indicate that a PDU has been received (a P-DATA-INDICATION).sendPDataIndication
in class ReceivedDataHandler
pdata
- the PDU that was receivedassociation
- the association on which the PDU was receivedjava.io.IOException
DicomException
DicomNetworkException
protected abstract void evaluateStatusAndSetSuccess(AttributeList list)
list
- the list of Attributes extracted from the bytes of the PDU(s)protected void makeUseOfDataSet(AttributeList list)
list
- the list of Attributes extracted from the bytes of the PDU(s)public boolean wasSuccessful()
public int getStatus()
evaluateStatusAndSetSuccess()