package org.yajul.jms; import org.yajul.jndi.CachedJndiObjectProvider; import org.yajul.jndi.JndiLookup; import org.yajul.jndi.JndiObjectProvider; import org.yajul.util.InstanceProvider; import org.yajul.util.ObjectProvider; import javax.jms.Destination; import javax.jms.Queue; import javax.jms.Topic; import javax.naming.InitialContext; /** * Cached JNDI lookup for topics and queues. * <br> * User: josh * Date: 6/28/11 * Time: 12:22 PM */ public class DestinationProvider extends CachedJndiObjectProvider<Destination> { public DestinationProvider(ObjectProvider<Destination> delegate) { super(delegate); } public DestinationProvider(Destination destination) { this(new InstanceProvider<Destination>(destination)); } public DestinationProvider(InitialContext ic, String name) { this(new JndiObjectProvider<Destination>(ic, Destination.class, name)); } public Destination getDestination() { return getObject(); } public Topic getTopic() { return (Topic)getDestination(); } public Queue getQueue() { return (Queue)getDestination(); } }