org.nakedobjects.remoting.client.facets
Class ActionInvocationFacetWrapProxy

java.lang.Object
  extended by org.nakedobjects.metamodel.facets.FacetAbstract
      extended by org.nakedobjects.metamodel.facets.actions.invoke.ActionInvocationFacetAbstract
          extended by org.nakedobjects.remoting.client.facets.ActionInvocationFacetWrapProxy
All Implemented Interfaces:
ActionInvocationFacet, DecoratingFacet<ActionInvocationFacet>, Facet

public final class ActionInvocationFacetWrapProxy
extends ActionInvocationFacetAbstract
implements DecoratingFacet<ActionInvocationFacet>

A reflection peer for executing actions remotely, instead of on the local machine. Any calls to execute are passed over the network to the server for invocation. There are two cases where the request is not passed to the server, ie it is executed locally: 1) where the method is static, ie is on the class rather than an instance; 2) if the instance is not persistent; 3) if the method is marked as 'local'. If a method is marked as being 'remote' then static methods and methods on transient objects will be passed to the server.

If any of the objects involved have been changed on the server by another process then a ConcurrencyException will be passed back to the client and re-thrown.


Constructor Summary
ActionInvocationFacetWrapProxy(ActionInvocationFacet underlyingFacet, ServerFacade connection, ObjectEncoderDecoder encoder, NakedObjectAction nakedObjectAction)
           
 
Method Summary
 ActionInvocationFacet getDecoratedFacet()
           
 Identifier getIdentifier()
           
protected static MessageBroker getMessageBroker()
           
 NakedObjectSpecification getOnType()
           
 NakedObjectSpecification getReturnType()
           
protected static UpdateNotifier getUpdateNotifier()
           
 NakedObject invoke(NakedObject target, NakedObject[] parameters)
           
 
Methods inherited from class org.nakedobjects.metamodel.facets.actions.invoke.ActionInvocationFacetAbstract
type
 
Methods inherited from class org.nakedobjects.metamodel.facets.FacetAbstract
alwaysReplace, facetType, getFacetHolder, getIdentified, getUnderlyingFacet, isDerived, isNoop, setFacetHolder, setUnderlyingFacet, toString, toStringValues, unwrapObject, unwrapString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.nakedobjects.metamodel.facets.Facet
alwaysReplace, facetType, getFacetHolder, getUnderlyingFacet, isDerived, isNoop, setFacetHolder, setUnderlyingFacet
 

Constructor Detail

ActionInvocationFacetWrapProxy

public ActionInvocationFacetWrapProxy(ActionInvocationFacet underlyingFacet,
                                      ServerFacade connection,
                                      ObjectEncoderDecoder encoder,
                                      NakedObjectAction nakedObjectAction)
Method Detail

getDecoratedFacet

public ActionInvocationFacet getDecoratedFacet()
Specified by:
getDecoratedFacet in interface DecoratingFacet<ActionInvocationFacet>

invoke

public NakedObject invoke(NakedObject target,
                          NakedObject[] parameters)
Specified by:
invoke in interface ActionInvocationFacet

getReturnType

public NakedObjectSpecification getReturnType()
Specified by:
getReturnType in interface ActionInvocationFacet

getOnType

public NakedObjectSpecification getOnType()
Specified by:
getOnType in interface ActionInvocationFacet

getIdentifier

public Identifier getIdentifier()

getMessageBroker

protected static MessageBroker getMessageBroker()

getUpdateNotifier

protected static UpdateNotifier getUpdateNotifier()


Copyright © 2001-2009 Naked Objects Group Ltd.. All Rights Reserved.