com.pixelmed.network

## Class TransferSyntaxSelectionPolicy

- java.lang.Object
- - com.pixelmed.network.TransferSyntaxSelectionPolicy

Direct Known Subclasses:
  AnyExplicitTransferSyntaxSelectionPolicy, UnencapsulatedExplicitTransferSyntaxSelectionPolicy

    public abstract class TransferSyntaxSelectionPolicy
    extends java.lang.Object

Concrete sub-classes of this abstract class accept or reject Presentation Contexts from a list based on their Transfer Syntax.

See Also:
  `UnencapsulatedExplicitTransferSyntaxSelectionPolicy`

### Constructor Summary

Constructors
Constructor and Description
`TransferSyntaxSelectionPolicy()`

### Method Summary

Methods
`java.util.LinkedList` `applyExplicitTransferSyntaxPreferencePolicy(java.util.LinkedList presentationContexts, int associationNumber, int debugLevel)` Reject Implicit VR Presentation Contexts when multiple Presentation Contexts are offered for the same Abstract Syntax, if possible.
`abstract java.util.LinkedList` `applyTransferSyntaxSelectionPolicy(java.util.LinkedList presentationContexts, int associationNumber, int debugLevel)` Accept or reject Presentation Contexts, based on TransferSyntax.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### TransferSyntaxSelectionPolicy

    public TransferSyntaxSelectionPolicy()

### Method Detail

#### applyTransferSyntaxSelectionPolicy

    public abstract java.util.LinkedList applyTransferSyntaxSelectionPolicy(java.util.LinkedList presentationContexts,
                                                          int associationNumber,
                                                          int debugLevel)

Accept or reject Presentation Contexts, based on TransferSyntax. Should be called after Abstract Syntax selection has been performed. Should be called before `applyExplicitTransferSyntaxPreferencePolicy()`. Does not change the Abstract Syntax.

Parameters:
  `presentationContexts` - a java.util.LinkedList of `PresentationContext` objects, each of which contains an Abstract Syntax (SOP Class UID) with one or more Transfer Syntaxes
  `associationNumber` - for debugging messages
  `debugLevel` -
Returns:
  the java.util.LinkedList of `PresentationContext` objects, as supplied but with the Transfer Syntax list culled to the one preferred Transfer Syntax (or empty if none acceptable) and the result/reason field left alone if one of the Transfer Syntaxes was acceptable, or set to "transfer syntaxes not supported (provider rejection)"

#### applyExplicitTransferSyntaxPreferencePolicy

    public java.util.LinkedList applyExplicitTransferSyntaxPreferencePolicy(java.util.LinkedList presentationContexts,
                                                                   int associationNumber,
                                                                   int debugLevel)

Reject Implicit VR Presentation Contexts when multiple Presentation Contexts are offered for the same Abstract Syntax, if possible. Should be called after `applyTransferSyntaxSelectionPolicy()`.

Parameters:
  `presentationContexts` - a java.util.LinkedList of `PresentationContext` objects, each of which contains a single (accepted) Transfer Syntax
  `associationNumber` - for debugging messages
  `debugLevel` -
Returns:
  the java.util.LinkedList of `PresentationContext` objects, as supplied but with any Presentation Context with an Implicit VR Transfer Syntax for which there is another Presentation Context with an Explicit VR Transfer Syntax rejected with the result/reason field set to "no reason (provider rejection)"