package org.jboss.ejb;
import javax.security.jacc.PolicyContextException;
import javax.security.jacc.PolicyContextHandler;
import javax.ejb.EnterpriseBean;
public class EJBArgsPolicyContextHandler implements PolicyContextHandler
{
public static final String EJB_ARGS_KEY = "javax.ejb.arguments";
private static ThreadLocal ejbContext = new ThreadLocal();
static void setArgs(Object[] args)
{
ejbContext.set(args);
}
public Object getContext(String key, Object data)
throws PolicyContextException
{
Object context = null;
if( key.equalsIgnoreCase(EJB_ARGS_KEY) == true )
context = ejbContext.get();
return context;
}
public String[] getKeys()
throws PolicyContextException
{
String[] keys = {EJB_ARGS_KEY};
return keys;
}
public boolean supports(String key)
throws PolicyContextException
{
return key.equalsIgnoreCase(EJB_ARGS_KEY);
}
}