com.pixelmed.network
Class TransferSyntaxSelectionPolicy

java.lang.Object
  extended by 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
TransferSyntaxSelectionPolicy()
           
 
Method Summary
 LinkedList applyExplicitTransferSyntaxPreferencePolicy(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  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, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransferSyntaxSelectionPolicy

public TransferSyntaxSelectionPolicy()
Method Detail

applyTransferSyntaxSelectionPolicy

public abstract 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 - 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 LinkedList applyExplicitTransferSyntaxPreferencePolicy(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)"