Jumpi v1.2.0

org.jumpi
Interface Destination

All Known Subinterfaces:
Destination
All Known Implementing Classes:
AbstractDestination

public interface Destination

A Destination is a generic form of addressing for sending and receiving messages. Every message sent is addressed to a Destination. Every message received is received from a Destination. The sender of a received message is represented by a Destination. A Destination is a value type and therefore strictly invariant.

Each Destination is associated with a single Controller. A Controller manages the technicalities of sending and receiving messages. The types of Destination available to a Jumpi client application are implementation dependent.

In order to communicate, a Jumpi client application must get the Destination from a Jumpi instance using Jumpi.getDestination(java.lang.String, java.lang.String, java.util.Hashtable). The application must specify the name of the Destination Url and optionally a Controller and properties. Jumpi does not define any properties, so their use is implementation dependent. Getting the Destination from a Jumpi instance normalizes the Destination Url getUrl(), and associates the returned Destination with a Controller.

Every Destination Url has a syntax which is implementation dependent. The syntax of Destination Url could be:

The use of '*' is typical for wildcard destinations. Wildcard Destinations match multiple specific destinations. Support for wildcard Destinations is dependent on the Connector.


Field Summary
static java.lang.String PROTOCOL_SEPARATOR
          Separator between protocol name and the rest of the Destination Url.
static java.lang.String SEPARATOR
          Separator between parts of the Destination Url.
 
Method Summary
 java.lang.String getControllerName()
          Gets the name of the Controller associated with the Destination.
 java.util.Hashtable getProperties()
          Gets any internal properties associated with the Destination.
 java.lang.String getUrl()
          Gets the normalized Destination Url of the Destination.
 

Field Detail

PROTOCOL_SEPARATOR

public static final java.lang.String PROTOCOL_SEPARATOR
Separator between protocol name and the rest of the Destination Url.

See Also:
Constant Field Values

SEPARATOR

public static final java.lang.String SEPARATOR
Separator between parts of the Destination Url.

See Also:
Constant Field Values
Method Detail

getControllerName

public java.lang.String getControllerName()
Gets the name of the Controller associated with the Destination.

Returns:
the name of the Controller associated with the Destination.

getUrl

public java.lang.String getUrl()
Gets the normalized Destination Url of the Destination. The value may be different to the one given in Jumpi.getDestination(java.lang.String, java.lang.String, java.util.Hashtable) due to normalization.

Returns:
the normalized Destination Url of the Destination.

getProperties

public java.util.Hashtable getProperties()
Gets any internal properties associated with the Destination. The properties Hashtable is never identical to that provided in Jumpi.getDestination(java.lang.String, java.lang.String, java.util.Hashtable), which is used to pass additional data to the Controller. These properties are used to pass additional data to the Jumpi client application from the implementation.

Returns:
the Destination properties if available, or null.

Jumpi v1.2.0

Copyright 2003, Peter Jonathan Klauser.