JBossDestination.java |
/* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.jms.destination; import java.io.Serializable; import javax.jms.Destination; import javax.jms.JMSException; import javax.naming.NamingException; import javax.naming.Reference; import javax.naming.Referenceable; import javax.naming.StringRefAddr; /** * A destination * * @author <a href="mailto:adrian@jboss.org>Adrian Brock</a> * @version $Revision: 1.2 $ */ public class JBossDestination implements Destination, Referenceable, Serializable { // Constants ----------------------------------------------------- // Attributes ---------------------------------------------------- /** The name */ private String name; // Static -------------------------------------------------------- // Constructors -------------------------------------------------- /** * Construct a new destination * * @param name the name */ public JBossDestination(String name) { if (name == null) throw new IllegalArgumentException("Null name"); this.name = name; } // Public -------------------------------------------------------- /** * Retrieve the name * * @return the name * @throws JMSExeption for any error */ public String getName() throws JMSException { return name; } // Destination implementation ------------------------------------ // Referenceable implementation ---------------------------------- public Reference getReference() throws NamingException { return new Reference ( getClass().getName(), new StringRefAddr("name", name), JBossDestinationFactory.class.getName(), null ); } // Object overrides ---------------------------------------------- public String toString() { return name; } public boolean equals(Object obj) { if (obj == null) return false; if (obj == this) return true; if (getClass() != obj.getClass()) return false; JBossDestination other = (JBossDestination) obj; return name.equals(other.name); } public int hashCode() { return name.hashCode(); } // Protected ------------------------------------------------------ // Package Private ------------------------------------------------ // Private -------------------------------------------------------- // Inner Classes -------------------------------------------------- }
JBossDestination.java |