org.dcm4che2.net
Class NetworkApplicationEntity

java.lang.Object
  extended by org.dcm4che2.net.NetworkApplicationEntity

public class NetworkApplicationEntity
extends java.lang.Object

DICOM Part 15, Annex H compliant description of a DICOM network service.

A Network AE is an application entity that provides services on a network. A Network AE will have the 16 same functional capability regardless of the particular network connection used. If there are functional differences based on selected network connection, then these are separate Network AEs. If there are 18 functional differences based on other internal structures, then these are separate Network AEs.

Since:
Nov 25, 2005
Version:
$Revision: 12489 $ $Date: 2007-11-23 06:23:46 -0600 (Fri, 23 Nov 2007) $
Author:
gunter zeilinger(gunterze@gmail.com)

Constructor Summary
NetworkApplicationEntity()
           
 
Method Summary
 void addAssociationListener(AssociationListener l)
           
 Association connect(NetworkApplicationEntity remoteAE, java.util.concurrent.Executor executor)
          Open a connection to the remote AE, using the passed in threading model.
 Association connect(NetworkApplicationEntity remoteAE, java.util.concurrent.Executor executor, boolean forceNew)
          Open a connection to the remote AE, using the passed in threading model.
 Association connect(UserIdentity userIdentity, NetworkApplicationEntity remoteAE, java.util.concurrent.Executor executor)
          Open a connection to the remote AE, using the passed in user identity Negotiation will be performed.
 Association connect(UserIdentity userIdentity, NetworkApplicationEntity remoteAE, java.util.concurrent.Executor executor, boolean forceNew)
          Open a connection to the remote AE, using the passed in user identity and threading model.
 java.lang.String getAETitle()
          Get the AE title for this Network AE.
 java.lang.String[] getApplicationCluster()
          Get the locally defined names for a subset of related applications.
 java.lang.String getDescription()
          Get the description of this network AE
 Device getDevice()
          Get the device that is identified by this application entity.
 int getDimseRspTimeout()
          Get the timeout in milliseconds for receiving DIMSE-RSP on an open association.
 int getIdleTimeout()
          Get the maximum time in milliseconds that an association may remain idle.
 int getMaxOpsInvoked()
          Get maximum number of outstanding operations this network AE may invoke asynchronously as an SCU.
 int getMaxOpsPerformed()
          Get the maximum number of operation this network AE may perform asynchronously as an SCP.
 int getMaxPDULengthReceive()
          Get the maximum length (in bytes) of P-DATA-TF PDUs that can be received.
 int getMaxPDULengthSend()
          Set the maximum length (in bytes) of P-DATA-TF PDUs that will be sent.
 int getMoveRspTimeout()
          Deprecated. use getRetrieveRspTimeout()
 NetworkConnection[] getNetworkConnection()
          Get the NetworkConnection objects associated with this network AE.
 java.lang.String[] getPreferredCalledAETitle()
          Get the AE Title(s) (SCPs) that are preferred for initiating associations from this network AE (SCU).
 java.lang.String[] getPreferredCallingAETitle()
          Get the AE title(s) that are preferred for accepting associations from.
 int getRetrieveRspTimeout()
          Get the timeout in milliseconds for receiving DIMSE-RSP for an open C-GET or C-MOVE request.
 java.lang.String[] getReuseAssocationFromAETitle()
          Get an array of AE titles.
 java.lang.String[] getReuseAssocationToAETitle()
          Get an array of AE titles.
 java.lang.String[] getSupportedCharacterSet()
          Get the Character Set(s) supported by the Network AE for data sets it receives.
 TransferCapability[] getTransferCapability()
          Get the transfer capabilities (presentation contexts, extended information, etc.) that this network AE may make use of.
 UserIdentity getUserIdentity()
          Get User Identity used for initiating associations, if no User Identity is specified in the connect method.
 java.lang.Object[] getVendorData()
          Get any vendor information or configuration specific to this network AE.
 boolean hasPreferredCalledAETitle()
          Determine whether or not this network AE (SCU) has an AE Title (SCP) that is preferred for initiating associations to.
 boolean hasPreferredCallingAETitle()
          Determine whether or not this network AE has a preferred calling AE title.
 boolean isAssociationAcceptor()
          Determine whether or not this network AE can accept associations.
 boolean isAssociationInitiator()
          Determine whether or not this network AE can initiate associations.
 boolean isAsyncOps()
          Determine whether or not this network AE is capable of asynchronous operations.
 boolean isInstalled()
          Determine whether or not this network AE is installed on a network.
 boolean isOfferDefaultTransferSyntaxInSeparatePresentationContext()
           
 boolean isPackPDV()
          Get whether or not this network AE will send only one PDV in one P-Data-TF PDU.
 boolean isPreferredCalledAETitle(java.lang.String aet)
          Determine whether or not the parameter is a preferred called AE title (SCP) for this network AE (SCU).
 boolean isPreferredCallingAETitle(java.lang.String aet)
          Determine whether or not the parameter is a preferred calling AE title for accepting associations from.
protected  AAssociateRQ makeAAssociateRQ(UserIdentity userIdentity, NetworkApplicationEntity remoteAE)
           
 void register(DicomService service)
          Register a DicomService with this network AE.
 void removeAssociationListener(AssociationListener l)
           
 void setAETitle(java.lang.String aetitle)
          Set the AE title for this Network AE.
 void setApplicationCluster(java.lang.String[] cluster)
          Set the locally defined names for a subset of related applications.
 void setAssociationAcceptor(boolean acceptor)
          Set whether or not this network AE can accept associations.
 void setAssociationInitiator(boolean initiator)
          Set whether or not this network AE can initiate associations.
 void setDescription(java.lang.String description)
          Set a description of this network AE.
 void setDimseRspTimeout(int dimseRspTimeout)
          Set the timeout in milliseconds for receiving DIMSE-RSP on an open association.
 void setIdleTimeout(int idleTimeout)
          Set the maximum time in milliseconds that an association may remain idle.
 void setInstalled(boolean installed)
          Set whether or not this network AE is installed on a network.
 void setMaxOpsInvoked(int maxOpsInvoked)
          Set maximum number of outstanding operations this network AE may invoke asynchronously as an SCU.
 void setMaxOpsPerformed(int maxOpsPerformed)
          Set the maximum number of operation this network AE may perform asynchronously as an SCP.
 void setMaxPDULengthReceive(int maxPDULengthReceive)
          Get the maximum length (in bytes) of P-DATA-TF PDUs that can be received.
 void setMaxPDULengthSend(int maxPDULengthSend)
          Get the maximum length (in bytes) of P-DATA-TF PDUs that will be sent.
 void setMoveRspTimeout(int moveRspTimeout)
          Deprecated. use setRetrieveRspTimeout(int)
 void setNetworkConnection(NetworkConnection nc)
          Set the NetworkConnection object associated with this network AE.
 void setNetworkConnection(NetworkConnection[] nc)
          Set the NetworkConnection objects associated with this network AE.
 void setOfferDefaultTransferSyntaxInSeparatePresentationContext(boolean offerDefaultTSInSeparatePC)
           
 void setPackPDV(boolean packPDV)
          Set whether or not to send only one PDV in one P-Data-TF PDU.
 void setPreferredCalledAETitle(java.lang.String[] aets)
          Set the AE title(s) (SCPs) that are preferred for initiating associations from this network AE (SCU).
 void setPreferredCallingAETitle(java.lang.String[] aets)
          Set the AE title(s) that are preferred for accepting associations from.
 void setRetrieveRspTimeout(int retrieveRspTimeout)
          Set the timeout in milliseconds for receiving DIMSE-RSP on for open C-GET or C-MOVE request.
 void setReuseAssocationFromAETitle(java.lang.String[] reuseAssocationFromAETitle)
          Set an array of AE titles.
 void setReuseAssocationToAETitle(java.lang.String[] reuseAssocationToAETitle)
          Get an array of AE titles.
 void setSupportedCharacterSet(java.lang.String[] characterSets)
          Set the Character Set(s) supported by the Network AE for data sets it receives.
 void setTransferCapability(TransferCapability[] transferCapability)
          Set the transfer capabilities (presentation contexts, extended information, etc.) that this network AE may make use of.
 void setUserIdentity(UserIdentity userIdentity)
          Set User Identity used for initiating associations, if no User Identity is specified in the connect method.
 void setVendorData(java.lang.Object[] vendorData)
          Set any vendor information or configuration specific to this network AE
 void unregister(DicomService service)
          Unregister (remove) a DicomService from this network AE.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NetworkApplicationEntity

public NetworkApplicationEntity()
Method Detail

getDevice

public Device getDevice()
Get the device that is identified by this application entity.

Returns:
The owning Device.

getAETitle

public java.lang.String getAETitle()
Get the AE title for this Network AE.

Returns:
A String containing the AE title.

setAETitle

public void setAETitle(java.lang.String aetitle)
Set the AE title for this Network AE.

Parameters:
aetitle - A String containing the AE title.

getApplicationCluster

public java.lang.String[] getApplicationCluster()
Get the locally defined names for a subset of related applications. E.g. neuroradiology.

Returns:
A String array containing the names.

setApplicationCluster

public void setApplicationCluster(java.lang.String[] cluster)
Set the locally defined names for a subset of related applications. E.g. neuroradiology.

Parameters:
cluster - A String array containing the names.

isAssociationAcceptor

public boolean isAssociationAcceptor()
Determine whether or not this network AE can accept associations.

Returns:
A boolean value. True if the Network AE can accept associations, false otherwise.

setAssociationAcceptor

public void setAssociationAcceptor(boolean acceptor)
Set whether or not this network AE can accept associations.

Parameters:
acceptor - A boolean value. True if the Network AE can accept associations, false otherwise.

isAssociationInitiator

public boolean isAssociationInitiator()
Determine whether or not this network AE can initiate associations.

Returns:
A boolean value. True if the Network AE can accept associations, false otherwise.

setAssociationInitiator

public void setAssociationInitiator(boolean initiator)
Set whether or not this network AE can initiate associations.

Parameters:
initiator - A boolean value. True if the Network AE can accept associations, false otherwise.

getDescription

public java.lang.String getDescription()
Get the description of this network AE

Returns:
A String containing the description.

setDescription

public void setDescription(java.lang.String description)
Set a description of this network AE.

Parameters:
description - A String containing the description.

isInstalled

public boolean isInstalled()
Determine whether or not this network AE is installed on a network.

Returns:
A Boolean value. True if the AE is installed on a network. If not present, information about the installed status of the AE is inherited from the device

setInstalled

public void setInstalled(boolean installed)
Set whether or not this network AE is installed on a network.

Parameters:
installed - A Boolean value. True if the AE is installed on a network. If not present, information about the installed status of the AE is inherited from the device

getNetworkConnection

public NetworkConnection[] getNetworkConnection()
Get the NetworkConnection objects associated with this network AE.

Returns:
An array of NetworkConnection objects.

setNetworkConnection

public void setNetworkConnection(NetworkConnection nc)
Set the NetworkConnection object associated with this network AE.

Parameters:
nc - A NetworkConnection object.

setNetworkConnection

public void setNetworkConnection(NetworkConnection[] nc)
Set the NetworkConnection objects associated with this network AE.

Parameters:
nc - An array of NetworkConnection objects.

getPreferredCalledAETitle

public java.lang.String[] getPreferredCalledAETitle()
Get the AE Title(s) (SCPs) that are preferred for initiating associations from this network AE (SCU).

Returns:
A String array of the preferred called AE titles.

hasPreferredCalledAETitle

public boolean hasPreferredCalledAETitle()
Determine whether or not this network AE (SCU) has an AE Title (SCP) that is preferred for initiating associations to.

Returns:
A boolean value. True if there is a preferred called AE title.

isPreferredCalledAETitle

public boolean isPreferredCalledAETitle(java.lang.String aet)
Determine whether or not the parameter is a preferred called AE title (SCP) for this network AE (SCU). The called AE title defines authorized SCPs that this network AE title may interact with.

Parameters:
aet - A String containing the AE title to test.
Returns:
A boolean value. True if the parameter is a preferred called AE title.

setPreferredCalledAETitle

public void setPreferredCalledAETitle(java.lang.String[] aets)
Set the AE title(s) (SCPs) that are preferred for initiating associations from this network AE (SCU). The called AE title(s) defines authorized SCPs that this network AE title may interact with.

Parameters:
aets - A String array containing the preferred called AE titles.

getPreferredCallingAETitle

public java.lang.String[] getPreferredCallingAETitle()
Get the AE title(s) that are preferred for accepting associations from. The calling AE title(s) defines authorized SCUs that this network AE title may interact with, but does not prohibit other SCUs from making associations.

Returns:
A String array containing the preferred calling AE titles.

hasPreferredCallingAETitle

public boolean hasPreferredCallingAETitle()
Determine whether or not this network AE has a preferred calling AE title. The calling AE title(s) defines authorized SCUs that this network AE title may interact with, but does not prohibit other SCUs from making associations.

Returns:
A boolean value. True if there is a preferred AE title.

isPreferredCallingAETitle

public boolean isPreferredCallingAETitle(java.lang.String aet)
Determine whether or not the parameter is a preferred calling AE title for accepting associations from. The calling AE title(s) defines authorized SCUs that this network AE title may interact with, but does not prohibit other SCUs from making associations.

Parameters:
aet - A String containing the AE title to test.
Returns:
A boolean value. True if the parameter is a preferred calling AE title.

setPreferredCallingAETitle

public void setPreferredCallingAETitle(java.lang.String[] aets)
Set the AE title(s) that are preferred for accepting associations from. The calling AE title(s) defines authorized SCUs that this network AE title may interact with, but does not prohibit other SCUs from making associations.

Parameters:
aets - A String array containing the preferred calling AE titles.

getSupportedCharacterSet

public java.lang.String[] getSupportedCharacterSet()
Get the Character Set(s) supported by the Network AE for data sets it receives. The value shall be selected from the Defined Terms for Specific Character Set (0008,0005) in PS3.3. If no values are present, this implies that the Network AE supports only the default character repertoire (ISO IR 6).

Returns:
A String array of the supported character sets.

setSupportedCharacterSet

public void setSupportedCharacterSet(java.lang.String[] characterSets)
Set the Character Set(s) supported by the Network AE for data sets it receives. The value shall be selected from the Defined Terms for Specific Character Set (0008,0005) in PS3.3. If no values are present, this implies that the Network AE supports only the default character repertoire (ISO IR 6).

Parameters:
characterSets - A String array of the supported character sets.

getTransferCapability

public TransferCapability[] getTransferCapability()
Get the transfer capabilities (presentation contexts, extended information, etc.) that this network AE may make use of.

Returns:
An array of TransferCapability objects.

setTransferCapability

public void setTransferCapability(TransferCapability[] transferCapability)
Set the transfer capabilities (presentation contexts, extended information, etc.) that this network AE may make use of.

Parameters:
transferCapability - An array of TransferCapability objects.

isOfferDefaultTransferSyntaxInSeparatePresentationContext

public boolean isOfferDefaultTransferSyntaxInSeparatePresentationContext()

setOfferDefaultTransferSyntaxInSeparatePresentationContext

public void setOfferDefaultTransferSyntaxInSeparatePresentationContext(boolean offerDefaultTSInSeparatePC)

getVendorData

public java.lang.Object[] getVendorData()
Get any vendor information or configuration specific to this network AE.

Returns:
An Object array of the vendor data.

setVendorData

public void setVendorData(java.lang.Object[] vendorData)
Set any vendor information or configuration specific to this network AE

Parameters:
vendorData - An Object array of the vendor data.

getMaxOpsInvoked

public int getMaxOpsInvoked()
Get maximum number of outstanding operations this network AE may invoke asynchronously as an SCU. Default is 0 (unlimited).

Returns:
An int value containing the max ops.

setMaxOpsInvoked

public void setMaxOpsInvoked(int maxOpsInvoked)
Set maximum number of outstanding operations this network AE may invoke asynchronously as an SCU. Default is 0 (unlimited).

Parameters:
maxOpsInvoked - An int value containing the max ops.

getMaxOpsPerformed

public int getMaxOpsPerformed()
Get the maximum number of operation this network AE may perform asynchronously as an SCP. Default is 0 (unlimited).

Returns:
An int value containing the max ops.

setMaxOpsPerformed

public void setMaxOpsPerformed(int maxOpsPerformed)
Set the maximum number of operation this network AE may perform asynchronously as an SCP. Default is 0 (unlimited).

Parameters:
maxOpsPerformed - An int value containing the max ops.

isAsyncOps

public boolean isAsyncOps()
Determine whether or not this network AE is capable of asynchronous operations.

Returns:
A boolean value. True if this network AE is capable of async operations.

getMaxPDULengthReceive

public int getMaxPDULengthReceive()
Get the maximum length (in bytes) of P-DATA-TF PDUs that can be received. Defaults to 16364.

Returns:
An int signifying the max PDU length.

setMaxPDULengthReceive

public void setMaxPDULengthReceive(int maxPDULengthReceive)
Get the maximum length (in bytes) of P-DATA-TF PDUs that can be received. Defaults to 16364.

Parameters:
maxPDULengthReceive - An int signifying the max PDU length.

getMaxPDULengthSend

public int getMaxPDULengthSend()
Set the maximum length (in bytes) of P-DATA-TF PDUs that will be sent. Defaults to 16364.

Returns:
An int signifying the max PDU length.

setMaxPDULengthSend

public void setMaxPDULengthSend(int maxPDULengthSend)
Get the maximum length (in bytes) of P-DATA-TF PDUs that will be sent. Defaults to 16364.

Parameters:
maxPDULengthSend - An int signifying the max PDU length.

isPackPDV

public boolean isPackPDV()
Get whether or not this network AE will send only one PDV in one P-Data-TF PDU. Defaults to false.

Returns:
A boolean value. If true, this network AE will pack command and data PDV in one P-DATA-TF PDU when sending.

setPackPDV

public void setPackPDV(boolean packPDV)
Set whether or not to send only one PDV in one P-Data-TF PDU. Defaults to false.

Parameters:
packPDV - A boolean value. If true, this network AE will pack command and data PDV in one P-DATA-TF PDU when sending.

getDimseRspTimeout

public int getDimseRspTimeout()
Get the timeout in milliseconds for receiving DIMSE-RSP on an open association. Default 60 seconds (60000 milliseconds).

Returns:
An int value signifying the timeout in milliseconds.

setDimseRspTimeout

public void setDimseRspTimeout(int dimseRspTimeout)
Set the timeout in milliseconds for receiving DIMSE-RSP on an open association. Default 60 seconds (60000 milliseconds).

Parameters:
dimseRspTimeout - An int value signifying the timeout in milliseconds.

getIdleTimeout

public int getIdleTimeout()
Get the maximum time in milliseconds that an association may remain idle. Default 60 seconds (60000 milliseconds).

Returns:
An int value signifying the max idle period in milliseconds.

setIdleTimeout

public void setIdleTimeout(int idleTimeout)
Set the maximum time in milliseconds that an association may remain idle. Default 60 seconds (60000 milliseconds).

Parameters:
idleTimeout - An int value signifying the max idle period in milliseconds.

getMoveRspTimeout

@Deprecated
public int getMoveRspTimeout()
Deprecated. use getRetrieveRspTimeout()

Get the timeout in milliseconds for receiving DIMSE-RSP for an open C-GET or C-MOVE request. Other types of associations use the DimseRspTimeout. Default 600 seconds (600000 milliseconds).

Returns:
An int value signifying the timeout in milliseconds.

setMoveRspTimeout

@Deprecated
public void setMoveRspTimeout(int moveRspTimeout)
Deprecated. use setRetrieveRspTimeout(int)

Set the timeout in milliseconds for receiving DIMSE-RSP for an open C-GET or C-MOVE request. Other types of associations use the DimseRspTimeout. Default 600 seconds (600000 milliseconds).

Parameters:
moveRspTimeout - An int value signifying the timeout in milliseconds.

getRetrieveRspTimeout

public int getRetrieveRspTimeout()
Get the timeout in milliseconds for receiving DIMSE-RSP for an open C-GET or C-MOVE request. Other types of associations use the DimseRspTimeout. Default 600 seconds (600000 milliseconds).

Returns:
An int value signifying the timeout in milliseconds.

setRetrieveRspTimeout

public void setRetrieveRspTimeout(int retrieveRspTimeout)
Set the timeout in milliseconds for receiving DIMSE-RSP on for open C-GET or C-MOVE request. Other types of associations use the DimseRspTimeout. Default 600 seconds (600000 milliseconds).

Parameters:
retrieveRspTimeout - An int value signifying the timeout in milliseconds.

getReuseAssocationFromAETitle

public java.lang.String[] getReuseAssocationFromAETitle()
Get an array of AE titles. If there is an open association from an AE title (the SCU) contained in this array, this network AE (the SCP) will reuse an existing association object as opposed to creating a new one.

Returns:
A String array containing the AE titles that association reuse will be enabled for.

setReuseAssocationFromAETitle

public void setReuseAssocationFromAETitle(java.lang.String[] reuseAssocationFromAETitle)
Set an array of AE titles. If there is an open association from an AE title (the SCU) contained in this array, this network AE (the SCP) will reuse an existing association object as opposed to creating a new one.

Parameters:
reuseAssocationFromAETitle - String array containing the AE titles that association reuse will be enabled for.

getReuseAssocationToAETitle

public java.lang.String[] getReuseAssocationToAETitle()
Get an array of AE titles. If there is an open association to an AE title (the SCP) contained in this array, this network AE (the SCU) will reuse an existing association object as opposed to creating a new one.

Returns:
String array containing the AE titles that association reuse will be enabled for.

setReuseAssocationToAETitle

public void setReuseAssocationToAETitle(java.lang.String[] reuseAssocationToAETitle)
Get an array of AE titles. If there is an open association to an AE title (the SCP) contained in this array, this network AE (the SCU) will reuse an existing association object as opposed to creating a new one.

Parameters:
reuseAssocationToAETitle - String array containing the AE titles that association reuse will be enabled for.

getUserIdentity

public UserIdentity getUserIdentity()
Get User Identity used for initiating associations, if no User Identity is specified in the connect method. Returns null, if no User Identity is associated with this NetworkApplicationEntity.

Returns:
User Identity associated with this NetworkApplicationEntity.
See Also:
setUserIdentity(org.dcm4che2.net.UserIdentity), connect(NetworkApplicationEntity, Executor), connect(NetworkApplicationEntity, Executor, boolean)

setUserIdentity

public void setUserIdentity(UserIdentity userIdentity)
Set User Identity used for initiating associations, if no User Identity is specified in the connect method.

Parameters:
User - Identity associated with this NetworkApplicationEntity.
See Also:
getUserIdentity(), connect(NetworkApplicationEntity, Executor), connect(NetworkApplicationEntity, Executor, boolean)

connect

public Association connect(NetworkApplicationEntity remoteAE,
                           java.util.concurrent.Executor executor)
                    throws ConfigurationException,
                           java.io.IOException,
                           java.lang.InterruptedException
Open a connection to the remote AE, using the passed in threading model. If a User Identity was associated with this NetworkApplicationEntity by setUserIdentity(UserIdentity), corresponding User Identity Negotiation will be performed. This method will result in an association being opened (or re-used if so configured). This association is then returned for use.

Parameters:
remoteAE - A NetworkApplicationEntity to connect to.
executor - An Executor implementation containing the threading model to use for this connection/association.
Returns:
An open Association object.
Throws:
ConfigurationException - If there is no compatible network connection between this AE title and the one that it is connecting to.
java.io.IOException
java.lang.InterruptedException

connect

public Association connect(UserIdentity userIdentity,
                           NetworkApplicationEntity remoteAE,
                           java.util.concurrent.Executor executor)
                    throws ConfigurationException,
                           java.io.IOException,
                           java.lang.InterruptedException
Open a connection to the remote AE, using the passed in user identity Negotiation will be performed. This method will result in an association being opened (or re-used if so configured). This association is then returned for use.

Parameters:
userIdentity - The UserIdentity notified to the Association Acceptor by User Identity Negotiation.
remoteAE - A NetworkApplicationEntity to connect to.
executor - An Executor implementation containing the threading model to use for this connection/association.
Returns:
An open Association object.
Throws:
ConfigurationException - If there is no compatible network connection between this AE title and the one that it is connecting to.
java.io.IOException
java.lang.InterruptedException

connect

public Association connect(NetworkApplicationEntity remoteAE,
                           java.util.concurrent.Executor executor,
                           boolean forceNew)
                    throws ConfigurationException,
                           java.io.IOException,
                           java.lang.InterruptedException
Open a connection to the remote AE, using the passed in threading model. If a User Identity was associated with this NetworkApplicationEntity by setUserIdentity(UserIdentity), corresponding User Identity Negotiation will be performed. This method will result in an association being opened (or reused if so configured, and the "forceNew" parameter is false). This association is then returned for use.

Parameters:
remoteAE - A NetworkApplicationEntity to connect to.
executor - An Executor implementation containing the threading model to use for this connection/association.
forceNew - A boolean value. If true, always create a new association, ignoring any existing association re-use configuration that has been set.
Returns:
An open Association object.
Throws:
ConfigurationException - If there is no compatible network connection between this AE title and the one that it is connecting to.
java.io.IOException
java.lang.InterruptedException

connect

public Association connect(UserIdentity userIdentity,
                           NetworkApplicationEntity remoteAE,
                           java.util.concurrent.Executor executor,
                           boolean forceNew)
                    throws ConfigurationException,
                           java.io.IOException,
                           java.lang.InterruptedException
Open a connection to the remote AE, using the passed in user identity and threading model. This method will result in an association being opened (or reused if so configured, and the "forceNew" parameter is false). This association is then returned for use.

Parameters:
userIdentity - The UserIdentity notified to the Association Acceptor by User Identity Negotiation.
remoteAE - A NetworkApplicationEntity to connect to.
executor - An Executor implementation containing the threading model to use for this connection/association.
forceNew - A boolean value. If true, always create a new association, ignoring any existing association re-use configuration that has been set.
Returns:
An open Association object.
Throws:
ConfigurationException - If there is no compatible network connection between this AE title and the one that it is connecting to.
java.io.IOException
java.lang.InterruptedException

makeAAssociateRQ

protected AAssociateRQ makeAAssociateRQ(UserIdentity userIdentity,
                                        NetworkApplicationEntity remoteAE)

register

public void register(DicomService service)
Register a DicomService with this network AE.

Parameters:
service - The DicomService that will respond to DICOM requests.

unregister

public void unregister(DicomService service)
Unregister (remove) a DicomService from this network AE.

Parameters:
service - The DicomService to unregister.

addAssociationListener

public void addAssociationListener(AssociationListener l)

removeAssociationListener

public void removeAssociationListener(AssociationListener l)


Copyright © 2011 dcm4che. All Rights Reserved.