Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.activemq.message
Class ActiveMQDestination

    java.lang.Object
      org.codehaus.activemq.jndi.JNDIBaseStorable
          org.codehaus.activemq.message.ActiveMQDestination

All Implemented Interfaces:
  Comparable, Destination, JNDIStorableInterface, Referenceable, Serializable

Direct Known Subclasses:
  ActiveMQQueue, ActiveMQTopic

public abstract class ActiveMQDestination
extends JNDIBaseStorable
implements Destination, Comparable, Serializable

A `Destination` object encapsulates a provider-specific address. The JMS API does not define a standard address syntax. Although a standard address syntax was considered, it was decided that the differences in address semantics between existing message-oriented middleware (MOM) products were too wide to bridge with a single syntax.

Since `Destination` is an administered object, it may contain provider-specific configuration information in addition to its address.

The JMS API also supports a client's use of provider-specific address names.

`Destination` objects support concurrent use.

A `Destination` object is a JMS administered object.

JMS administered objects are objects containing configuration information that are created by an administrator and later used by JMS clients. They make it practical to administer the JMS API in the enterprise.

Although the interfaces for administered objects do not explicitly depend on the Java Naming and Directory Interface (JNDI) API, the JMS API establishes the convention that JMS clients find administered objects by looking them up in a JNDI namespace.

An administrator can place an administered object anywhere in a namespace. The JMS API does not define a naming policy.

It is expected that JMS providers will provide the tools an administrator needs to create and configure administered objects in a JNDI namespace. JMS provider implementations of administered objects should implement the `javax.naming.Referenceable` and `java.io.Serializable` interfaces so that they can be stored in all JNDI naming contexts. In addition, it is recommended that these implementations follow the JavaBeansTM design patterns.

This strategy provides several benefits:

- It hides provider-specific details from JMS clients.
- It abstracts JMS administrative information into objects in the Java programming language ("Java objects") that are easily organized and administered from a common management console.
- Since there will be JNDI providers for all popular naming services, JMS providers can deliver one implementation of administered objects that will run everywhere.

An administered object should not hold on to any remote resources. Its lookup should not use remote resources other than those used by the JNDI API itself.

Clients should think of administered objects as local Java objects. Looking them up should not have any hidden side effects or use surprising amounts of local resources.

See Also:
  Serialized Form

Field Summary
`static int` | `ACTIVEMQ_QUEUE` Queue Destination object
`static int` | `ACTIVEMQ_TEMPORARY_QUEUE` Temporary Queue Destination object
`static int` | `ACTIVEMQ_TEMPORARY_TOPIC` Temporary Topic Destination object
`static int` | `ACTIVEMQ_TOPIC` Topic Destination object

Constructor Summary
`protected` | `ActiveMQDestination()` The Default Constructor
`protected` | `ActiveMQDestination(String name)` Construct the ActiveMQDestination with a defined physical name;

Method Summary
`protected void` | `buildFromProperties(Properties props)` Set the properties that will represent the instance in JNDI
`int` | `compareTo(ActiveMQDestination that)` Lets sort by name first then lets sort topics greater than queues
`int` | `compareTo(Object o)`
`protected abstract Destination` | `createDestination(String name)` Factory method to create a child destination if this destination is a composite
`protected abstract JMSDestinationStats` | `createDestinationStats()` Factory method to create a statistics counter object
`static String` | `createTemporaryName(String clientId)` Create a temporary name from the clientId
`boolean` | `equals(Object obj)` if the object passed in is equivalent, return true
`List` | `getChildDestinations()` Returns a list of child destinations if this destination represents a composite destination.
`static String` | `getClientId(ActiveMQDestination destination)` From a temporary destination find the clientId of the Connection that created it
`DestinationFilter` | `getDestinationFilter()`
`String[]` | `getDestinationPaths()`
`abstract int` | `getDestinationType()`
`String` | `getPhysicalName()`
`JMSDestinationStats` | `getStats()`
`int` | `hashCode()`
`static String` | `inspect(Destination destination)` A helper method to return a descriptive string for the topic or queue
`boolean` | `isComposite()` Returns true if this destination represents a collection of destinations; allowing a set of destinations to be published to or subscribed from in one JMS operation.
`boolean` | `isQueue()` Returns true if a Queue Destination
`boolean` | `isTemporary()` Returns true if a temporary Destination
`boolean` | `isTopic()` Returns true if a Topic Destination
`boolean` | `isWildcard()`
`boolean` | `matches(ActiveMQDestination destination)` Returns true if the given destination matches this destination; including wildcards
`protected void` | `populateProperties(Properties props)` Initialize the instance from properties stored in JNDI
`static ActiveMQDestination` | `readFromStream(DataInput dataIn)` Read an ActiveMQDestination from a Stream
`void` | `setPhysicalName(String newPhysicalName)`
`void` | `setStats(JMSDestinationStats stats)`
`String` | `toString()`
`static ActiveMQDestination` | `transformDestination(Destination destination)`
`static void` | `writeToStream(ActiveMQDestination destination, DataOutput dataOut)` Write an ActiveMQDestination to a Stream

Methods inherited from class org.codehaus.activemq.jndi.JNDIBaseStorable
`getProperties, getReference, setProperties`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### ACTIVEMQ_TOPIC

    public static final int ACTIVEMQ_TOPIC

  Topic Destination object

  See Also:
    Constant Field Values

### ACTIVEMQ_TEMPORARY_TOPIC

    public static final int ACTIVEMQ_TEMPORARY_TOPIC

  Temporary Topic Destination object

  See Also:
    Constant Field Values

### ACTIVEMQ_QUEUE

    public static final int ACTIVEMQ_QUEUE

  Queue Destination object

  See Also:
    Constant Field Values

### ACTIVEMQ_TEMPORARY_QUEUE

    public static final int ACTIVEMQ_TEMPORARY_QUEUE

  Temporary Queue Destination object

  See Also:
    Constant Field Values

Constructor Detail

### ActiveMQDestination

    protected ActiveMQDestination()

  The Default Constructor

### ActiveMQDestination

    protected ActiveMQDestination(String name)

  Construct the ActiveMQDestination with a defined physical name;

Parameters:
  `name` -

Method Detail

### inspect

    public static String inspect(Destination destination)

  A helper method to return a descriptive string for the topic or queue

  Returns:
    a descriptive string for this queue or topic

### transformDestination

    public static ActiveMQDestination transformDestination(Destination destination)
                                                    throws JMSException

  Parameters:
    `destination` -
  Returns:
    @throws JMSException
  Throws:
    `JMSException`

### writeToStream

    public static void writeToStream(ActiveMQDestination destination,
                                     DataOutput dataOut)
                              throws IOException

  Write an ActiveMQDestination to a Stream

  Parameters:
    `destination` -
    `dataOut` -
  Throws:
    `IOException`

### readFromStream

    public static ActiveMQDestination readFromStream(DataInput dataIn)
                                              throws IOException

  Read an ActiveMQDestination from a Stream

  Parameters:
    `dataIn` -
  Returns:
    the ActiveMQDestination
  Throws:
    `IOException`

### createTemporaryName

    public static String createTemporaryName(String clientId)

  Create a temporary name from the clientId

  Parameters:
    `clientId` -
  Returns:

### getClientId

    public static String getClientId(ActiveMQDestination destination)

  From a temporary destination find the clientId of the Connection that created it

  Parameters:
    `destination` -
  Returns:
    the clientId or null if not a temporary destination

### compareTo

    public int compareTo(Object o)

  Specified by:
    `compareTo` in interface `Comparable`
  Parameters:
    `o` - object to compare
  Returns:
    1 if this > o else 0 if they are equal or -1 if this < o

### compareTo

    public int compareTo(ActiveMQDestination that)

  Lets sort by name first then lets sort topics greater than queues

  Parameters:
    `that` - another destination to compare against
  Returns:
    1 if this > that else 0 if they are equal or -1 if this < that

### getDestinationType

    public abstract int getDestinationType()

  Returns:
    Returns the Destination type

### getPhysicalName

    public String getPhysicalName()

  Returns:
    Returns the physicalName.

### setPhysicalName

    public void setPhysicalName(String newPhysicalName)

  Parameters:
    `newPhysicalName` - The physicalName to set.

### isTemporary

    public boolean isTemporary()

  Returns true if a temporary Destination

  Returns:
    true/false

### isTopic

    public boolean isTopic()

  Returns true if a Topic Destination

  Returns:
    true/false

### isQueue

    public boolean isQueue()

  Returns true if a Queue Destination

  Returns:
    true/false

### isComposite

    public boolean isComposite()

  Returns true if this destination represents a collection of destinations; allowing a set of destinations to be published to or subscribed from in one JMS operation.

  If this destination is a composite then you can call `getChildDestinations()` to return the list of child destinations.

  Returns:
    true if this destination represents a collection of child destinations.

### getChildDestinations

    public List getChildDestinations()

  Returns a list of child destinations if this destination represents a composite destination.

  Returns:

### toString

    public String toString()

  Returns:
    string representation of this instance

### hashCode

    public int hashCode()

  Returns:
    hashCode for this instance

### equals

    public boolean equals(Object obj)

  if the object passed in is equivalent, return true

  Parameters:
    `obj` - the object to compare
  Returns:
    true if this instance and obj are equivalent

### isWildcard

    public boolean isWildcard()

  Returns:
    true if the destination matches multiple possible destinations

### matches

    public boolean matches(ActiveMQDestination destination)

  Returns true if the given destination matches this destination; including wildcards

### getDestinationFilter

    public DestinationFilter getDestinationFilter()

### getDestinationPaths

    public String[] getDestinationPaths()

### getStats

    public JMSDestinationStats getStats()

### setStats

    public void setStats(JMSDestinationStats stats)

### createDestination

    protected abstract Destination createDestination(String name)

  Factory method to create a child destination if this destination is a composite

### createDestinationStats

    protected abstract JMSDestinationStats createDestinationStats()

  Factory method to create a statistics counter object

  Returns:

### buildFromProperties

    protected void buildFromProperties(Properties props)

  Set the properties that will represent the instance in JNDI

  Specified by:
    `buildFromProperties` in class `JNDIBaseStorable`
  Parameters:
    `props` -

### populateProperties

    protected void populateProperties(Properties props)

  Initialize the instance from properties stored in JNDI

  Specified by:
    `populateProperties` in class `JNDIBaseStorable`
  Parameters:
    `props` -

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 Protique, Ltd.. All Rights Reserved.