| MessageFactoryInterceptor.java |
/*
* JBoss, the OpenSource J2EE webOS
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.jms.message.standard;
import javax.jms.Message;
import org.jboss.aop.advice.Interceptor;
import org.jboss.aop.joinpoint.Invocation;
import org.jboss.aop.joinpoint.MethodInvocation;
import org.jboss.jms.client.SessionDelegate;
import org.jboss.jms.container.Container;
/**
* An interceptor for creating messages
*
* @author <a href="mailto:adrian@jboss.org>Adrian Brock</a>
* @version $Revision: 1.4 $
*/
public class MessageFactoryInterceptor
implements Interceptor
{
// Constants -----------------------------------------------------
// Attributes ----------------------------------------------------
// Static --------------------------------------------------------
public static final MessageFactoryInterceptor singleton = new MessageFactoryInterceptor();
// Constructors --------------------------------------------------
// Public --------------------------------------------------------
// Interceptor implementation -----------------------------------
public String getName()
{
return "MessageFactoryInterceptor";
}
public Object invoke(Invocation invocation) throws Throwable
{
String methodName = ((MethodInvocation) invocation).getMethod().getName();
if (methodName.equals("createMessage"))
return createMessage(invocation);
else
return invocation.invokeNext();
}
// Protected ------------------------------------------------------
protected Message createMessage(Invocation invocation)
throws Throwable
{
return new StandardMessage((SessionDelegate) Container.getProxy(invocation));
}
// Package Private ------------------------------------------------
// Private --------------------------------------------------------
// Inner Classes --------------------------------------------------
}
| MessageFactoryInterceptor.java |