| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jboss.proxy.ejb.ProxyFactory
public class ProxyFactory
As we remove the one one association between container STACK and invoker we keep this around. IN the future the creation of proxies is a task done on a container basis but the container as a logical representation. In other words, the container "Entity with RMI/IIOP" is not a container stack but an association at the invocation level that points to all metadata for a given container.
In other words this is here for legacy reason and to not disrupt the container at once. In particular we declare that we "implement" the container invoker interface when we are just implementing the Proxy generation calls. Separation of concern. todo eliminate this class, at least in its present form.
| Nested Class Summary | 
|---|
| Nested classes/interfaces inherited from interface org.jboss.ejb.GenericEntityObjectFactory | 
|---|
| GenericEntityObjectFactory.UTIL | 
| Field Summary | |
|---|---|
| protected static String | BEAN_INTERCEPTOR | 
| protected  ArrayList | beanInterceptorClassesThe proxy-config/client-interceptors/bean stack | 
| protected  Invoker | beanInvoker | 
| protected  Container | container | 
|  javax.ejb.EJBMetaData | ejbMetaData | 
| protected  javax.ejb.EJBHome | home | 
| protected static String | HOME_INTERCEPTOR | 
| protected  ArrayList | homeInterceptorClassesThe proxy-config/client-interceptors/home stack | 
| protected  Invoker | homeInvoker | 
| protected  boolean | includeIClientIfaceA flag indicating if the IClientContainer interface should be added | 
| protected  InvokerProxyBindingMetaData | invokerMetaData | 
| protected  boolean | isServiceEndpointOnly | 
| protected  javax.management.ObjectName | jmxName | 
| protected  int | jmxNameHash | 
| protected  String | jndiBinding | 
| protected static String | LIST_ENTITY_INTERCEPTOR | 
| protected  ArrayList | listEntityInterceptorClassesThe proxy-config/client-interceptors/entity-list stack | 
| protected static org.jboss.logging.Logger | log | 
| protected  Constructor | proxyClassConstructor | 
| protected  javax.ejb.EJBObject | statelessObject | 
| Constructor Summary | |
|---|---|
| ProxyFactory() | |
| Method Summary | |
|---|---|
| protected  void | bindProxy()The bindProxymethod creates the home proxy and binds
 the home into jndi. | 
|  void | create() | 
|  void | destroy() | 
|  Object | getEJBHome()This method is called whenever the EJBHome implementation for this container is needed. | 
|  javax.ejb.EJBMetaData | getEJBMetaData()This method is called whenever the metadata for this container is needed. | 
|  Collection | getEntityCollection(Collection ids)Create a Collection EJBObject proxies for an entity given its primary keys. | 
|  Object | getEntityEJBObject(Object id)Create an EJBObject proxy for an entity given its primary key. | 
|  Object | getStatefulSessionEJBObject(Object id)Create an EJBObject proxy for a stateful session given its session id. | 
|  Object | getStatelessSessionEJBObject()Return the EJBObject proxy for stateless sessions. | 
| protected  void | initInterceptorClasses()Load the client interceptor classes | 
|  boolean | isIdentical(Container container,
            Invocation mi)Protocol specific isIdentical implementation | 
| protected  void | loadInterceptorChain(ArrayList chain,
                     ClientContainer client)The loadInterceptorChaincreate instances of interceptor
 classes previously loaded in loadInterceptorClasses | 
| protected  void | loadInterceptorClasses(ArrayList classes,
                       Element interceptors)The loadInterceptorClassesload an interceptor classes from
 configuration | 
| protected  void | rebindHomeProxy() | 
|  void | setContainer(Container con)This callback is set by the container so that the plugin may access it | 
|  void | setInvokerBinding(String binding)Set the invoker jndi binding | 
|  void | setInvokerMetaData(InvokerProxyBindingMetaData metadata)Set the invoker meta data so that the ProxyFactory can initialize properly | 
| protected  void | setupInvokers()Lookup the invokers in the object registry. | 
|  void | start()Become fully available. | 
|  void | stop() | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
protected static final String HOME_INTERCEPTOR
protected static final String BEAN_INTERCEPTOR
protected static final String LIST_ENTITY_INTERCEPTOR
protected static org.jboss.logging.Logger log
public javax.ejb.EJBMetaData ejbMetaData
protected boolean isServiceEndpointOnly
protected javax.ejb.EJBHome home
protected javax.ejb.EJBObject statelessObject
protected String jndiBinding
protected javax.management.ObjectName jmxName
protected int jmxNameHash
protected Invoker beanInvoker
protected Invoker homeInvoker
protected InvokerProxyBindingMetaData invokerMetaData
protected ArrayList homeInterceptorClasses
protected ArrayList beanInterceptorClasses
protected ArrayList listEntityInterceptorClasses
protected boolean includeIClientIface
protected Container container
protected Constructor proxyClassConstructor
| Constructor Detail | 
|---|
public ProxyFactory()
| Method Detail | 
|---|
public void setContainer(Container con)
ContainerPlugin
setContainer in interface ContainerPlugincon - The container using this plugin. This may be null if the
    plugin is being disassociated from a container.public void setInvokerMetaData(InvokerProxyBindingMetaData metadata)
EJBProxyFactory
setInvokerMetaData in interface EJBProxyFactorypublic void setInvokerBinding(String binding)
EJBProxyFactory
setInvokerBinding in interface EJBProxyFactory
public void create()
            throws Exception
create in interface org.jboss.system.ServiceException
public void start()
           throws Exception
start in interface org.jboss.system.ServiceException
protected void setupInvokers()
                      throws Exception
Exception
protected void initInterceptorClasses()
                               throws Exception
Exception
protected void loadInterceptorClasses(ArrayList classes,
                                      Element interceptors)
                               throws Exception
loadInterceptorClasses load an interceptor classes from
 configuration
Exception - if an error occurs
protected void loadInterceptorChain(ArrayList chain,
                                    ClientContainer client)
                             throws Exception
loadInterceptorChain create instances of interceptor
 classes previously loaded in loadInterceptorClasses
Exception - if an error occurs
protected void bindProxy()
                  throws Exception
bindProxy method creates the home proxy and binds
 the home into jndi. It also creates the InvocationContext and client
 container and interceptor chain.
Exception - if an error occurs
protected void rebindHomeProxy()
                        throws NamingException
NamingExceptionpublic void stop()
stop in interface org.jboss.system.Servicepublic void destroy()
destroy in interface org.jboss.system.Service
public boolean isIdentical(Container container,
                           Invocation mi)
EJBProxyFactory
isIdentical in interface EJBProxyFactorycontainer - the containermi - the invocation
public javax.ejb.EJBMetaData getEJBMetaData()
EJBProxyFactory
getEJBMetaData in interface EJBProxyFactorypublic Object getEJBHome()
EJBProxyFactory
getEJBHome in interface EJBProxyFactorypublic Object getStatelessSessionEJBObject()
getStatelessSessionEJBObject in interface EJBProxyFactorypublic Object getStatefulSessionEJBObject(Object id)
getStatefulSessionEJBObject in interface EJBProxyFactoryid - The id of the session.
public Object getEntityEJBObject(Object id)
getEntityEJBObject in interface EJBProxyFactorygetEntityEJBObject in interface GenericEntityObjectFactoryid - The primary key of the entity.
public Collection getEntityCollection(Collection ids)
getEntityCollection in interface EJBProxyFactoryids - Enumeration of primary keys.
| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||