Class CompositeResponseHandler

java.lang.Object
com.pixelmed.network.ReceivedDataHandler
com.pixelmed.network.CompositeResponseHandler
Direct Known Subclasses:
MoveSOPClassSCU.CMoveResponseHandler, StorageSOPClassSCU.CStoreResponseHandler, VerificationSOPClassSCU.CEchoResponseHandler

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.

See Also:
  • Field Details

    • commandReceived

      protected byte[] commandReceived
    • dataReceived

      protected byte[] dataReceived
    • success

      protected boolean success
    • allowData

      protected boolean allowData
    • status

      protected int status
  • Constructor Details

    • CompositeResponseHandler

      public 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.
      Parameters:
      debugLevel - ignored
    • CompositeResponseHandler

      public CompositeResponseHandler()
      Construct a handler to process each PDU of a composite response as it is received, evaluating the status of the response for success.
  • Method Details

    • getAttributeListFromCommandOrData

      public static AttributeList getAttributeListFromCommandOrData(byte[] bytes, String transferSyntaxUID, int debugLevel) throws DicomNetworkException, DicomException, IOException
      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.
      Parameters:
      bytes - the concatenated PDU bytes up to and including the last fragment
      transferSyntaxUID - the Transfer Syntax to use to interpret the bytes
      debugLevel - ignored
      Throws:
      IOException
      DicomException
      DicomNetworkException
    • getAttributeListFromCommandOrData

      public static AttributeList getAttributeListFromCommandOrData(byte[] bytes, String transferSyntaxUID) throws DicomNetworkException, DicomException, IOException
      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.
      Parameters:
      bytes - the concatenated PDU bytes up to and including the last fragment
      transferSyntaxUID - the Transfer Syntax to use to interpret the bytes
      Throws:
      IOException
      DicomException
      DicomNetworkException
    • dumpAttributeListFromCommandOrData

      public static String dumpAttributeListFromCommandOrData(byte[] bytes, String transferSyntaxUID) throws DicomNetworkException, DicomException, IOException
      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.
      Parameters:
      bytes - the concatenated PDU bytes up to and including the last fragment
      transferSyntaxUID - the Transfer Syntax to use to interpret the bytes
      Throws:
      IOException
      DicomException
      DicomNetworkException
    • sendPDataIndication

      public void sendPDataIndication(PDataPDU pdata, Association association) throws DicomNetworkException, DicomException, IOException
      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).
      Specified by:
      sendPDataIndication in class ReceivedDataHandler
      Parameters:
      pdata - the PDU that was received
      association - the association on which the PDU was received
      Throws:
      IOException
      DicomException
      DicomNetworkException
    • evaluateStatusAndSetSuccess

      protected abstract void evaluateStatusAndSetSuccess(AttributeList list)
      Extract the status information from a composite response and set the status flag accordingly.
      Parameters:
      list - the list of Attributes extracted from the bytes of the PDU(s)
    • makeUseOfDataSet

      protected void makeUseOfDataSet(AttributeList list)
      Ignore any data set in the composite response (unless this method is overridden).
      Parameters:
      list - the list of Attributes extracted from the bytes of the PDU(s)
    • wasSuccessful

      public boolean wasSuccessful()
      Does the response include an indication of success ?
    • getStatus

      public int getStatus()
      Get the response status Valid only after first calling evaluateStatusAndSetSuccess()