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 |
done, release
Constructor and Description |
---|
CompositeResponseHandler()
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)
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, dumpPDVListToString, isDone, isToBeReleased, setDone, setRelease
protected boolean allowData
protected byte[] commandReceived
protected byte[] dataReceived
protected int status
protected boolean success
public CompositeResponseHandler()
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
protected abstract void evaluateStatusAndSetSuccess(AttributeList list)
list
- the list of Attributes extracted from the bytes of the PDU(s)public static AttributeList getAttributeListFromCommandOrData(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 int getStatus()
evaluateStatusAndSetSuccess()
protected void makeUseOfDataSet(AttributeList list)
list
- the list of Attributes extracted from the bytes of the PDU(s)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
public boolean wasSuccessful()