org.objectweb.proactive.core.component.representative
Class FunctionalInterfaceProxyImpl
java.lang.Object
org.objectweb.proactive.core.component.representative.FunctionalInterfaceProxyImpl
- All Implemented Interfaces:
- java.lang.Cloneable, FunctionalInterfaceProxy, Proxy, java.io.Serializable
- public class FunctionalInterfaceProxyImpl
- extends java.lang.Object
- implements FunctionalInterfaceProxy, java.io.Serializable, java.lang.Cloneable
This class acts as a proxy between a representative interface and the actual
destination of the invocation. It therefore allows the creation of shortcuts :
functional requests can cross membranes of composites and directly go to the
target primitive component that is able to handle the request.
This feature is especially useful in the context of distributed systems,
where hierarchies can be quite complex and composite components distributed
over many different and remote sites.
The implementation of the shorcuts is based on tensioning : the first
functional request on an interface goes all the way through possible
intermediate composite components, and when it reaches its final destination,
which is the primitive component that holds the business code for handling
this functional request, the original sender of the request receives
a notification of the shortcut which can be realized. The following
requests on the same interface will then go directly to the target primitive
component, without having to cross possible intermediate composite
components. Note that the tensioning is performed during the rendez-vous
, which guarantees causal dependency.
- Author:
- Matthieu Morel
- See Also:
- Serialized Form
Field Summary |
protected static org.apache.log4j.Logger |
logger
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
protected static org.apache.log4j.Logger logger
FunctionalInterfaceProxyImpl
public FunctionalInterfaceProxyImpl(Proxy bodyProxyDelegatee,
java.lang.String fcItfName)
reify
public java.lang.Object reify(MethodCall c)
throws java.lang.Throwable
- Description copied from interface:
Proxy
- Reifies a method call invoked on the object
- Specified by:
reify
in interface FunctionalInterfaceProxy
- Throws:
java.lang.Throwable
setBodyProxy
public void setBodyProxy(Proxy proxy)
- Specified by:
setBodyProxy
in interface FunctionalInterfaceProxy
getBodyProxy
public Proxy getBodyProxy()
- Specified by:
getBodyProxy
in interface FunctionalInterfaceProxy
Copyright 2001-2005 INRIA All Rights Reserved.