org.nakedobjects.remoting.protocol.encoding.internal
Class ObjectEncoderDecoderDefault

java.lang.Object
  extended by org.nakedobjects.remoting.protocol.encoding.internal.ObjectEncoderDecoderDefault
All Implemented Interfaces:
ObjectEncoderDecoder

public class ObjectEncoderDecoderDefault
extends java.lang.Object
implements ObjectEncoderDecoder


Field Summary
static int DEFAULT_CLIENT_SIDE_ACTION_PARAMETER_GRAPH_DEPTH
           
static int DEFAULT_CLIENT_SIDE_ACTION_TARGET_GRAPH_DEPTH
           
static int DEFAULT_CLIENT_SIDE_ADD_OBJECT_GRAPH_DEPTH
           
static int DEFAULT_CLIENT_SIDE_UPDATE_OBJECT_GRAPH_DEPTH
           
static int DEFAULT_SERVER_SIDE_RETRIEVED_OBJECT_GRAPH_DEPTH
           
static int DEFAULT_SERVER_SIDE_TOUCHED_OBJECT_GRAPH_DEPTH
           
 
Constructor Summary
ObjectEncoderDecoderDefault()
          Package-level visibility (for tests to use only)
 
Method Summary
 void addPersistenceQueryEncoder(PersistenceQueryEncoder encoder)
           
static ObjectEncoderDecoderDefault create(NakedObjectConfiguration configuration)
          Factory method.
 NakedObject decode(Data data)
          Called client-side only, in multiple locations.
 NakedObject decode(Data data, KnownObjectsRequest knownObjects)
          Called server-side only: by ServerFacadeImpl.executeClientAction(ExecuteClientActionRequest) by {@link ServerFacadeImpl#executeServerAction(ExecuteServerActionRequest)
 void decode(ObjectData[] dataArray)
           
 PersistenceQuery decodePersistenceQuery(PersistenceQueryData persistenceQueryData)
          Called server-side only: by {@link ServerFacadeImpl#findInstances(FindInstancesRequest)
 Data[] encodeActionParameters(NakedObjectSpecification[] parameterTypes, NakedObject[] parameters, KnownObjectsRequest knownObjects)
          Called client-side only: by ActionInvocationFacetWrapProxy.invoke(NakedObject, NakedObject[]) by PersistenceQueryFindByPatternEncoder.encode(PersistenceQuery) by hibernate's equivalent encoder
 ReferenceData encodeActionTarget(NakedObject target, KnownObjectsRequest knownObjects)
          Called client-side only: by ActionInvocationFacetWrapProxy.invoke(NakedObject, NakedObject[]) (calling remotely)
 EncodableObjectData encodeAsValue(NakedObject value)
          Called client-side only: by PropertySetterFacetWrapProxy.setProperty(NakedObject, NakedObject)
 AuthorizationResponse encodeAuthorizeResponse(boolean authorized)
           
 ExecuteClientActionResponse encodeClientActionResult(ReferenceData[] madePersistent, Version[] changedVersion, ObjectData[] updates)
          Called server-side only: by ServerFacadeImpl.executeClientAction(ExecuteClientActionRequest)
 ObjectData encodeCompletePersistentGraph(NakedObject object)
          Encodes a complete set of data for the specified object.
 Data encodeForResolveField(NakedObject adapter, java.lang.String fieldName)
          Called server-side only: by ServerFacadeImpl.resolveField(ResolveFieldRequest)
 ObjectData encodeForUpdate(NakedObject object)
          Encodes a minimal set of data for the specified object.
 ObjectData encodeGraphForChangedObject(NakedObject object, KnownObjectsRequest knownObjects)
          Called client-side only: by ClientSideTransactionManager.endTransaction()
 IdentityData encodeIdentityData(NakedObject object)
          Creates a ReferenceData that contains the type, version and OID for the specified object.
 ObjectData encodeMadePersistentGraph(ObjectData data, NakedObject object)
          Called server-side only: by ServerFacadeImpl.executeServerAction(ExecuteServerActionRequest)
 ObjectData encodeMakePersistentGraph(NakedObject adapter, KnownObjectsRequest knownObjects)
          Called client-side only: by ClientSideTransactionManager.endTransaction()
 PersistenceQueryData encodePersistenceQuery(PersistenceQuery criteria)
          Called client-side only: by PersistenceSessionAbstract.findInstances(PersistenceQuery)
 ExecuteServerActionResponse encodeServerActionResult(NakedObject result, ObjectData[] updatesData, ReferenceData[] disposedData, ObjectData persistedTargetData, ObjectData[] persistedParametersData, java.lang.String[] messages, java.lang.String[] warnings)
          Called server-side only: by ServerFacadeImpl.executeServerAction(ExecuteServerActionRequest)
 NakedObjectAssociation[] getFieldOrder(NakedObjectSpecification specification)
          Called server-side only: by ServerFacadeImpl.resolveField(ResolveFieldRequest) by {@link ServerFacadeImpl#executeServerAction(ExecuteServerActionRequest)
 void madePersistent(NakedObject target, ObjectData persistedTarget)
          Called client-side only: by ActionInvocationFacetWrapProxy.invoke(NakedObject, NakedObject[])
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_CLIENT_SIDE_ADD_OBJECT_GRAPH_DEPTH

public static final int DEFAULT_CLIENT_SIDE_ADD_OBJECT_GRAPH_DEPTH
See Also:
Constant Field Values

DEFAULT_CLIENT_SIDE_UPDATE_OBJECT_GRAPH_DEPTH

public static final int DEFAULT_CLIENT_SIDE_UPDATE_OBJECT_GRAPH_DEPTH
See Also:
Constant Field Values

DEFAULT_CLIENT_SIDE_ACTION_TARGET_GRAPH_DEPTH

public static final int DEFAULT_CLIENT_SIDE_ACTION_TARGET_GRAPH_DEPTH
See Also:
Constant Field Values

DEFAULT_CLIENT_SIDE_ACTION_PARAMETER_GRAPH_DEPTH

public static final int DEFAULT_CLIENT_SIDE_ACTION_PARAMETER_GRAPH_DEPTH
See Also:
Constant Field Values

DEFAULT_SERVER_SIDE_RETRIEVED_OBJECT_GRAPH_DEPTH

public static final int DEFAULT_SERVER_SIDE_RETRIEVED_OBJECT_GRAPH_DEPTH
See Also:
Constant Field Values

DEFAULT_SERVER_SIDE_TOUCHED_OBJECT_GRAPH_DEPTH

public static final int DEFAULT_SERVER_SIDE_TOUCHED_OBJECT_GRAPH_DEPTH
See Also:
Constant Field Values
Constructor Detail

ObjectEncoderDecoderDefault

public ObjectEncoderDecoderDefault()
Package-level visibility (for tests to use only)

Method Detail

create

public static ObjectEncoderDecoderDefault create(NakedObjectConfiguration configuration)
Factory method.


addPersistenceQueryEncoder

public void addPersistenceQueryEncoder(PersistenceQueryEncoder encoder)

encodeIdentityData

public final IdentityData encodeIdentityData(NakedObject object)
Creates a ReferenceData that contains the type, version and OID for the specified object. This can only be used for persistent objects.

Called both client and server-side, in multiple locations.

Specified by:
encodeIdentityData in interface ObjectEncoderDecoder

encodeMakePersistentGraph

public ObjectData encodeMakePersistentGraph(NakedObject adapter,
                                            KnownObjectsRequest knownObjects)
Called client-side only:

Specified by:
encodeMakePersistentGraph in interface ObjectEncoderDecoder

encodeGraphForChangedObject

public ObjectData encodeGraphForChangedObject(NakedObject object,
                                              KnownObjectsRequest knownObjects)
Called client-side only:

Specified by:
encodeGraphForChangedObject in interface ObjectEncoderDecoder

encodeAsValue

public EncodableObjectData encodeAsValue(NakedObject value)
Called client-side only:

Specified by:
encodeAsValue in interface ObjectEncoderDecoder

encodeActionTarget

public ReferenceData encodeActionTarget(NakedObject target,
                                        KnownObjectsRequest knownObjects)
Called client-side only:

Specified by:
encodeActionTarget in interface ObjectEncoderDecoder

encodeActionParameters

public final Data[] encodeActionParameters(NakedObjectSpecification[] parameterTypes,
                                           NakedObject[] parameters,
                                           KnownObjectsRequest knownObjects)
Called client-side only:

Specified by:
encodeActionParameters in interface ObjectEncoderDecoder

encodePersistenceQuery

public PersistenceQueryData encodePersistenceQuery(PersistenceQuery criteria)
Called client-side only:

Specified by:
encodePersistenceQuery in interface ObjectEncoderDecoder

madePersistent

public void madePersistent(NakedObject target,
                           ObjectData persistedTarget)
Called client-side only:

Specified by:
madePersistent in interface ObjectEncoderDecoder

decode

public NakedObject decode(Data data)
Called client-side only, in multiple locations.

Specified by:
decode in interface ObjectEncoderDecoder

decode

public void decode(ObjectData[] dataArray)
Specified by:
decode in interface ObjectEncoderDecoder

decode

public NakedObject decode(Data data,
                          KnownObjectsRequest knownObjects)
Called server-side only:

Specified by:
decode in interface ObjectEncoderDecoder

decodePersistenceQuery

public PersistenceQuery decodePersistenceQuery(PersistenceQueryData persistenceQueryData)
Called server-side only:

Specified by:
decodePersistenceQuery in interface ObjectEncoderDecoder

encodeAuthorizeResponse

public AuthorizationResponse encodeAuthorizeResponse(boolean authorized)
Specified by:
encodeAuthorizeResponse in interface ObjectEncoderDecoder

encodeClientActionResult

public ExecuteClientActionResponse encodeClientActionResult(ReferenceData[] madePersistent,
                                                            Version[] changedVersion,
                                                            ObjectData[] updates)
Called server-side only:

Specified by:
encodeClientActionResult in interface ObjectEncoderDecoder

encodeCompletePersistentGraph

public final ObjectData encodeCompletePersistentGraph(NakedObject object)
Encodes a complete set of data for the specified object.

Called server-side only, in several locations:

Specified by:
encodeCompletePersistentGraph in interface ObjectEncoderDecoder

encodeForUpdate

public ObjectData encodeForUpdate(NakedObject object)
Encodes a minimal set of data for the specified object.

Called server-side only:

Specified by:
encodeForUpdate in interface ObjectEncoderDecoder

encodeForResolveField

public Data encodeForResolveField(NakedObject adapter,
                                  java.lang.String fieldName)
Called server-side only:

Specified by:
encodeForResolveField in interface ObjectEncoderDecoder

encodeMadePersistentGraph

public ObjectData encodeMadePersistentGraph(ObjectData data,
                                            NakedObject object)
Called server-side only:

Specified by:
encodeMadePersistentGraph in interface ObjectEncoderDecoder

encodeServerActionResult

public ExecuteServerActionResponse encodeServerActionResult(NakedObject result,
                                                            ObjectData[] updatesData,
                                                            ReferenceData[] disposedData,
                                                            ObjectData persistedTargetData,
                                                            ObjectData[] persistedParametersData,
                                                            java.lang.String[] messages,
                                                            java.lang.String[] warnings)
Called server-side only:

Specified by:
encodeServerActionResult in interface ObjectEncoderDecoder

getFieldOrder

public NakedObjectAssociation[] getFieldOrder(NakedObjectSpecification specification)
Called server-side only:

Specified by:
getFieldOrder in interface ObjectEncoderDecoder


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