com.pixelmed.query

## Interface RetrieveResponseGenerator

    public interface RetrieveResponseGenerator

This interface abstracts the communication between a retrieve (C-MOVE) server that implements the network service, and the source of information with which to respond to the retrieve request.

Typically, the server which has been supplied a factor to generate instances of a class that implements this interface, calls the methods with the following pattern:

            ... receive C-MOVE request from the network into AttributeList identifier ...
            RetrieveResponseGenerator retrieveResponseGenerator = retrieveResponseGeneratorFactory.newInstance();
            retrieveResponseGenerator.performRetrieve(affectedSOPClassUID,identifier,false);
            SetOfDicomFiles dicomFiles = retrieveResponseGenerator.getDicomFiles();
            int status = retrieveResponseGenerator.getStatus();
            AttributeTagAttribute badElement = retrieveResponseGenerator.getOffendingElement();
            retrieveResponseGenerator.close();
            ... send C-MOVE response ...

See Also:
  `RetrieveResponseGeneratorFactory`

### Method Summary

Methods
`void` `close()` Clean up after the retrieval has completed.
`SetOfDicomFiles` `getDicomFiles()` Get the list of files that satisfy the entire retrieval request.
`java.lang.String` `getErrorComment()` Get any error comment in the case of an error status.
`AttributeTagAttribute` `getOffendingElement()` Get the offending element in the case of an error status.
`int` `getStatus()` Get a status suitable for the C-MOVE response.
`void` `performRetrieve(java.lang.String retrieveSOPClassUID, AttributeList requestIdentifier, boolean relational)` Perform the retrieve whose results will be returned by the getDicomFiles() method.

### Method Detail

#### performRetrieve

    void performRetrieve(java.lang.String retrieveSOPClassUID,
                       AttributeList requestIdentifier,
                       boolean relational)

Perform the retrieve whose results will be returned by the getDicomFiles() method.

Parameters:
  `retrieveSOPClassUID` - defines the information model to use (e.g., study root, patient root)
  `requestIdentifier` - the request itself, as received in the C-MOVE dataset
  `relational` - whether or not to perform relational queries (as determined by extended negotiation)

#### getDicomFiles

    SetOfDicomFiles getDicomFiles()

Get the list of files that satisfy the entire retrieval request.

Returns:
  the list of files to be retrieved

#### getStatus

    int getStatus()

Get a status suitable for the C-MOVE response.

Returns:
  the retrieve status

#### getOffendingElement

    AttributeTagAttribute getOffendingElement()

Get the offending element in the case of an error status.

Returns:
  the offending element

#### getErrorComment

    java.lang.String getErrorComment()

Get any error comment in the case of an error status.

Returns:
  the error comment, or null if none

#### close

    void close()

Clean up after the retrieval has completed.

Typically, will discarded cached information, close any database connections, etc.