public class RemoteValueHolder extends DatabaseValueHolder implements java.io.Externalizable
shouldToStringInstantiate| Constructor and Description |
|---|
RemoteValueHolder() |
RemoteValueHolder(java.rmi.server.ObjID id) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object object)
Only the id is checked for equality check.
|
void |
finalize()
This method is used to remove the RemoteValueHolder from the dispatcher on Garbage
collection from the client
|
java.rmi.server.ObjID |
getID()
Return the unique id.
|
DatabaseMapping |
getMapping()
Return the associated mapping.
|
ObjectLevelReadQuery |
getQuery()
Return the associated query.
|
java.lang.Object |
getServerIndirectionObject()
Return the object on the server that holds on
to the remote value holder.
|
ValueHolderInterface |
getWrappedServerValueHolder()
Return the original value holder.
|
int |
hashCode()
Return the hashcode for id, because it is unqiue.
|
java.lang.Object |
instantiate()
Return the object.
|
java.lang.Object |
instantiateForUnitOfWorkValueHolder(UnitOfWorkValueHolder unitOfWorkValueHolder)
Triggers UnitOfWork valueholders directly without triggering the wrapped
valueholder (this).
|
boolean |
isEasilyInstantiated()
INTERNAL:
Answers if this valueholder is easy to instantiate.
|
boolean |
isPessimisticLockingValueHolder()
INTERNAL:
Answers if this valueholder is a pessimistic locking one.
|
void |
readExternal(java.io.ObjectInput in)
Override the default serialization for a remote valueholder so as not to serialize the value
Note: Changed for bug 3145211.
|
void |
setMapping(DatabaseMapping mapping)
Set mapping
|
void |
setQuery(ObjectLevelReadQuery query)
Set the query.
|
void |
setServerIndirectionObject(java.lang.Object serverIndirectionObject)
Set the object on the server that holds on
to the remote value holder.
|
void |
setTargetObjectPrimaryKeys(java.lang.Object primaryKeys)
Set target object primary keys.
|
void |
setValue(java.lang.Object theValue)
Set the object.
|
void |
setWrappedServerValueHolder(ValueHolderInterface wrappedServerValueHolder)
Set the original value holder.
|
void |
writeExternal(java.io.ObjectOutput out)
Override the default serialization for a remote valueholder so as not to serialize the value
Note: Changed for bug 3145211.
|
clone, getRow, getSession, getValue, getValue, getWrappedValueHolder, isCoordinatedWithProperty, isInstantiated, isNewlyWeavedValueHolder, isSerializedRemoteUnitOfWorkValueHolder, postInstantiate, privilegedSetValue, releaseWrappedValueHolder, setInstantiated, setIsCoordinatedWithProperty, setIsNewlyWeavedValueHolder, setRow, setSession, setUninstantiated, shouldAllowInstantiationDeferral, toStringpublic RemoteValueHolder()
public RemoteValueHolder(java.rmi.server.ObjID id)
public boolean equals(java.lang.Object object)
equals in class java.lang.Objectpublic void finalize()
finalize in class java.lang.Objectpublic java.rmi.server.ObjID getID()
public DatabaseMapping getMapping()
public ObjectLevelReadQuery getQuery()
public java.lang.Object getServerIndirectionObject()
public ValueHolderInterface getWrappedServerValueHolder()
public int hashCode()
hashCode in class java.lang.Objectpublic java.lang.Object instantiate()
public boolean isEasilyInstantiated()
isEasilyInstantiated in class DatabaseValueHolderpublic boolean isPessimisticLockingValueHolder()
isPessimisticLockingValueHolder in class DatabaseValueHolderpublic java.lang.Object instantiateForUnitOfWorkValueHolder(UnitOfWorkValueHolder unitOfWorkValueHolder)
When in transaction and/or for pessimistic locking the UnitOfWorkValueHolder needs to be triggered directly without triggering the wrapped valueholder. However only the wrapped valueholder knows how to trigger the indirection, i.e. it may be a batchValueHolder, and it stores all the info like the row and the query. Note: This method is not thread-safe. It must be used in a synchronizaed manner
instantiateForUnitOfWorkValueHolder in class DatabaseValueHolderpublic void readExternal(java.io.ObjectInput in)
throws java.io.IOException,
java.lang.ClassNotFoundException
readExternal in interface java.io.Externalizablejava.io.IOExceptionjava.lang.ClassNotFoundExceptionpublic void setMapping(DatabaseMapping mapping)
public void setQuery(ObjectLevelReadQuery query)
public void setServerIndirectionObject(java.lang.Object serverIndirectionObject)
public void setTargetObjectPrimaryKeys(java.lang.Object primaryKeys)
public void setValue(java.lang.Object theValue)
setValue in interface ValueHolderInterfacesetValue in class DatabaseValueHolderpublic void setWrappedServerValueHolder(ValueHolderInterface wrappedServerValueHolder)
public void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
writeExternal in interface java.io.Externalizablejava.io.IOExceptionEclipseLink 2.6.3, "build v20160428-59c81c5" API Reference