| Modifier and Type | Field and Description |
|---|---|
| protected ObjID | |
| protected transient DatabaseMapping | |
| protected transient ObjectLevelReadQuery | |
| protected transient Object | |
| protected Object | |
| protected transient ValueHolderInterface |
| Access | Constructor and Description |
|---|---|
| public | |
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected boolean | canDoCacheCheck()
If the reference object is mapped thru one to one mapping and the object derives its primary key value from this relationship then remote value holder has a primary key row for. |
| public boolean | equals(Object
the reference object with which to compare. object)Overrides java. |
| public void | finalize()
Overrides java. |
| public ObjID | |
| public DatabaseMapping | |
| protected Object | |
| public ObjectLevelReadQuery | |
| public Object | getServerIndirectionObject()
Return the object on the server that holds on to the remote value holder. |
| protected Object | |
| public ValueHolderInterface | |
| public int | |
| public synchronized T | instantiate()
Implements abstract org. |
| public T | instantiateForUnitOfWorkValueHolder(UnitOfWorkValueHolder<T> unitOfWorkValueHolder)
Implements abstract org. |
| public boolean | Returns: true if getValue() won't trigger a database read.Overrides org. |
| public boolean | isPessimisticLockingValueHolder()
Implements abstract org. |
| public void | readExternal(ObjectInput
the stream to read data from in order to restore the object in)Implements java. |
| protected void | |
| public void | |
| public void | |
| public void | setServerIndirectionObject(Object serverIndirectionObject)
Set the object on the server that holds on to the remote value holder. |
| public void | |
| public void | setValue(T theValue)
Overrides org. Implements org. |
| public void | setWrappedServerValueHolder(ValueHolderInterface<T> wrappedServerValueHolder)
Set the original value holder. |
| public void | writeExternal(ObjectOutput
the stream to write the object to out)Implements java. |
| id | back to summary |
|---|---|
| protected ObjID id | |
| mapping | back to summary |
|---|---|
| protected transient DatabaseMapping mapping | |
| query | back to summary |
|---|---|
| protected transient ObjectLevelReadQuery query | |
| serverIndirectionObject | back to summary |
|---|---|
| protected transient Object serverIndirectionObject | |
| targetObjectPrimaryKeys | back to summary |
|---|---|
| protected Object targetObjectPrimaryKeys | |
| wrappedServerValueHolder | back to summary |
|---|---|
| protected transient ValueHolderInterface<T> wrappedServerValueHolder | |
| RemoteValueHolder | back to summary |
|---|---|
| public RemoteValueHolder() | |
| RemoteValueHolder | back to summary |
|---|---|
| public RemoteValueHolder(ObjID id) | |
| canDoCacheCheck | back to summary |
|---|---|
| protected boolean canDoCacheCheck() If the reference object is mapped thru one to one mapping and the object derives its primary key value from this relationship then remote value holder has a primary key row for. | |
| equals | back to summary |
|---|---|
| public boolean equals(Object object) Overrides java. Only the id is checked for equality check.
| |
| finalize | back to summary |
|---|---|
| public void finalize() Overrides java. This method is used to remove the RemoteValueHolder from the dispatcher on Garbage collection from the client
| |
| getID | back to summary |
|---|---|
| public ObjID getID() Return the unique id. | |
| getMapping | back to summary |
|---|---|
| public DatabaseMapping getMapping() Return the associated mapping. | |
| getObjectFromCache | back to summary |
|---|---|
| protected Object getObjectFromCache() Get object from the cache if there is one. | |
| getQuery | back to summary |
|---|---|
| public ObjectLevelReadQuery getQuery() Return the associated query. | |
| getServerIndirectionObject | back to summary |
|---|---|
| public Object getServerIndirectionObject() Return the object on the server that holds on to the remote value holder. Currently used only by TransparentIndirection so we can get back to the original IndirectContainer. | |
| getTargetObjectPrimaryKeys | back to summary |
|---|---|
| protected Object getTargetObjectPrimaryKeys() Get target object primary key row. | |
| getWrappedServerValueHolder | back to summary |
|---|---|
| public ValueHolderInterface Return the original value holder. This is null on the client side because it is tagged transient. This is how we know whether the remote value holder is being invoked on the client or on the server. | |
| hashCode | back to summary |
|---|---|
| public int hashCode() Overrides java. Return the hashcode for id, because it is unqiue.
| |
| instantiate | back to summary |
|---|---|
| public synchronized T instantiate() Implements abstract org. Return the object.
| |
| instantiateForUnitOfWorkValueHolder | back to summary |
|---|---|
| public T instantiateForUnitOfWorkValueHolder(UnitOfWorkValueHolder<T> unitOfWorkValueHolder) Implements abstract org. Triggers UnitOfWork valueholders directly without triggering the wrapped valueholder (this). 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
| |
| isEasilyInstantiated | back to summary |
|---|---|
| public boolean isEasilyInstantiated() Overrides org. INTERNAL: Answers if this valueholder is easy to instantiate.
| |
| isPessimisticLockingValueHolder | back to summary |
|---|---|
| public boolean isPessimisticLockingValueHolder() Implements abstract org. INTERNAL: Answers if this valueholder is a pessimistic locking one. Such valueholders are special in that they can be triggered multiple times by different UnitsOfWork. Each time a lock query will be issued. Hence even if instantiated it may have to be instantiated again, and once instantatiated all fields can not be reset. Note This method is not thread-safe. It must be used in a synchronizaed manner
| |
| readExternal | back to summary |
|---|---|
| public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException Implements java. Override the default serialization for a remote valueholder so as not to serialize the value Note: Changed for bug 3145211. We used to use the java.io.Serializable interface, but need to convert to Externalizable interface to avoid sending extra data through the superclass's serialization
| |
| setID | back to summary |
|---|---|
| protected void setID(ObjID anID) Set the unique id. | |
| setMapping | back to summary |
|---|---|
| public void setMapping(DatabaseMapping mapping) Set mapping | |
| setQuery | back to summary |
|---|---|
| public void setQuery(ObjectLevelReadQuery query) Set the query. | |
| setServerIndirectionObject | back to summary |
|---|---|
| public void setServerIndirectionObject(Object serverIndirectionObject) Set the object on the server that holds on to the remote value holder. Currently used only by TransparentIndirection so we can get back to the original IndirectContainer. | |
| setTargetObjectPrimaryKeys | back to summary |
|---|---|
| public void setTargetObjectPrimaryKeys(Object primaryKeys) Set target object primary keys. | |
| setValue | back to summary |
|---|---|
| public void setValue(T theValue) Overrides org. Implements org. Set the object.
| |
| setWrappedServerValueHolder | back to summary |
|---|---|
| public void setWrappedServerValueHolder(ValueHolderInterface<T> wrappedServerValueHolder) Set the original value holder. | |
| writeExternal | back to summary |
|---|---|
| public void writeExternal(ObjectOutput out) throws IOException Implements java. Override the default serialization for a remote valueholder so as not to serialize the value Note: Changed for bug 3145211. We used to use the java.io.Serializable interface, but need to convert to Externalizable interface to avoid sending extra data through the superclass's serialization
| |