Package 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 | Description
    --- | ---
    `TransferSyntaxSelectionPolicy()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.util.LinkedList` | `applyExplicitTransferSyntaxPreferencePolicy​(java.util.LinkedList presentationContexts, int associationNumber)` | 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)` | Accept or reject Presentation Contexts, based on TransferSyntax.
    `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, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TransferSyntaxSelectionPolicy

          public TransferSyntaxSelectionPolicy()

  - ### Method Detail

    - #### applyTransferSyntaxSelectionPolicy

          public 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` - 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 java.util.LinkedList applyTransferSyntaxSelectionPolicy​(java.util.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 java.util.LinkedList applyExplicitTransferSyntaxPreferencePolicy​(java.util.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)"