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, toString
public RemoteValueHolder()
public RemoteValueHolder(java.rmi.server.ObjID id)
public boolean equals(java.lang.Object object)
equals
in class java.lang.Object
public void finalize()
finalize
in class java.lang.Object
public 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.Object
public java.lang.Object instantiate()
public boolean isEasilyInstantiated()
isEasilyInstantiated
in class DatabaseValueHolder
public boolean isPessimisticLockingValueHolder()
isPessimisticLockingValueHolder
in class DatabaseValueHolder
public 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 DatabaseValueHolder
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
java.io.IOException
java.lang.ClassNotFoundException
public 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 ValueHolderInterface
setValue
in class DatabaseValueHolder
public void setWrappedServerValueHolder(ValueHolderInterface wrappedServerValueHolder)
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
java.io.IOException
EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference