|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.openejb.core.ivm.BaseEjbProxyHandler
public abstract class BaseEjbProxyHandler
This InvocationHandler and its proxy are serializable and can be used by HomeHandle, Handle, and MetaData to persist and revive handles. It maintains its original client identity which allows the container to be more discerning about allowing the revieed proxy to be used. See StatefulContaer manager for more details.
Field Summary | |
---|---|
RpcContainer |
container
The RpcContainer that the bean deployment this stub hanlder represents is deployed in. |
java.lang.Object |
deploymentID
The unique id of the bean deployment that this stub handler represents. |
DeploymentInfo |
deploymentInfo
The DeployemtnInfo object if the bean deployment that this stub handler represents. |
protected boolean |
doIntraVmCopy
|
boolean |
inProxyMap
|
protected boolean |
isInvalidReference
|
protected static java.util.Hashtable |
liveHandleRegistry
keeps track of live BaseEjbProxyHanlders in this VM. |
java.lang.Object |
primaryKey
The primary key of the bean deployment or null if the deployment is a bean type that doesn't require a primary key |
Constructor Summary | |
---|---|
BaseEjbProxyHandler(RpcContainer container,
java.lang.Object pk,
java.lang.Object depID)
Constructs a BaseEjbProxyHandler representing the specifed bean deployment. |
Method Summary | |
---|---|
protected abstract java.lang.Object |
_invoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
Overridden by subclasses and called by invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) . |
protected abstract java.lang.Object |
_writeReplace(java.lang.Object proxy)
|
protected void |
checkAuthorization(java.lang.reflect.Method method)
Checks if the caller of the specified method is authorized to access and execute it. |
protected java.lang.Object[] |
copyArgs(java.lang.Object[] objects)
|
protected java.lang.Object |
copyObj(java.lang.Object object)
|
boolean |
equals(java.lang.Object obj)
|
abstract ProxyInfo |
getProxyInfo()
|
protected java.lang.Object |
getThreadSpecificSecurityIdentity()
|
int |
hashCode()
|
protected static void |
invalidateAllHandlers(java.lang.Object key)
|
void |
invalidateReference()
Invalidates this reference so that it can not be used as a proxy for the bean identity. |
java.lang.Object |
invoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
Preserves the context of the current thread and passes the invoke on to the BaseEjbProxyHandler subclass where the Container will be asked to invoke the method on the bean. |
boolean |
isLocal()
|
protected static void |
registerHandler(java.lang.Object key,
BaseEjbProxyHandler handler)
|
void |
setIntraVmCopyMode(boolean on)
This method enables/disables the copy process of the arguments and return value to and from a regular EJB invocation. |
void |
setLocal(boolean isLocal)
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected static final java.util.Hashtable liveHandleRegistry
public final java.lang.Object deploymentID
public final java.lang.Object primaryKey
public boolean inProxyMap
public transient DeploymentInfo deploymentInfo
public transient RpcContainer container
protected boolean isInvalidReference
protected boolean doIntraVmCopy
Constructor Detail |
---|
public BaseEjbProxyHandler(RpcContainer container, java.lang.Object pk, java.lang.Object depID)
container
- The Container that the bean deployment this stub hanlder represents is deployed in.pk
- The primary key of the bean deployment or null if the deployment is a bean type that doesn't require a primary key.depID
- The unique id of the bean deployment that this stub handler will represent.Method Detail |
---|
protected void checkAuthorization(java.lang.reflect.Method method) throws OpenEJBException
method
- The method the caller is attempting to execute.
OpenEJBException
- If the caller does bot have adequate authorization to execute the specified method.protected java.lang.Object getThreadSpecificSecurityIdentity()
public void setIntraVmCopyMode(boolean on)
public java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable
invoke
in interface InvocationHandler
proxy
- The Proxy object that represents this bean deployment's EJBObject or EJBHome.method
- The EJBHome or EJBObject method the caller is invoking.args
- The parameters to the mehtod being invoked
java.lang.Throwable
public java.lang.String toString()
toString
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
protected abstract java.lang.Object _invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable
invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
. Subclasses implement the main behavior of calling invoke on the Container that the bean deployment lives in.
proxy
- The Proxy subclass that is the bean's EJBObject or EJBHome.method
- The bean method that the caller is attempting to invoke.args
- The arguments to the method being invoked.
java.lang.Throwable
protected java.lang.Object[] copyArgs(java.lang.Object[] objects) throws java.io.IOException, java.lang.ClassNotFoundException
objects
- The object array you wish to dereference.
java.io.IOException
java.lang.ClassNotFoundException
protected java.lang.Object copyObj(java.lang.Object object) throws java.io.IOException, java.lang.ClassNotFoundException
object
-
java.io.IOException
java.lang.ClassNotFoundException
public void invalidateReference()
protected static void invalidateAllHandlers(java.lang.Object key)
protected abstract java.lang.Object _writeReplace(java.lang.Object proxy) throws java.io.ObjectStreamException
java.io.ObjectStreamException
protected static void registerHandler(java.lang.Object key, BaseEjbProxyHandler handler)
public abstract ProxyInfo getProxyInfo()
public boolean isLocal()
public void setLocal(boolean isLocal)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |