Package com.pixelmed.network

# Class TransferSyntaxSelectionPolicy

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

Direct Known Subclasses:
  `AnyExplicitTransferSyntaxSelectionPolicy`, `UnencapsulatedExplicitTransferSyntaxSelectionPolicy`

public abstract class TransferSyntaxSelectionPolicy extends 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
Description
`TransferSyntaxSelectionPolicy()`

## Method Summary

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

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

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

## Constructor Details

### TransferSyntaxSelectionPolicy

public TransferSyntaxSelectionPolicy()

## Method Details

### applyTransferSyntaxSelectionPolicy

public LinkedList applyTransferSyntaxSelectionPolicy(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` - used for debugging messages
  `debugLevel` - ignored
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)"

### applyTransferSyntaxSelectionPolicy

public abstract LinkedList applyTransferSyntaxSelectionPolicy(LinkedList presentationContexts, int associationNumber)
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` - used for debugging messages
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 LinkedList applyExplicitTransferSyntaxPreferencePolicy(LinkedList presentationContexts, int associationNumber)
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` - used for debugging messages
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)"