public class GoshawkObjRef
extends java.lang.Object
Capabilitys which
 control whether an Object can be read, written, both, or neither. Multiple references to the same
 Object can have different capabilities. A client gains capabilities on an Object by being able to
 read other Objects that have references to an Object. An Object will accept any action (read,
 write etc) which has been discovered.
 GoshawkObjRefs are linked to Connections: if you're using multiple Connections, it is not
 permitted to use the same GoshawkObjRef in both connections; you can either navigate to the same
 object in both connections or once that is done in each connection, you can use getObject to get
 a new GoshawkObjRef to the same object in the other connection. Within the same Connection, and
 within nested transactions, GoshawkObjRefs may be freely reused.| Modifier and Type | Field and Description | 
|---|---|
| VarUUId | idThe unique identifier of the object to which this reference refers. | 
| Modifier and Type | Method and Description | 
|---|---|
| Capability | getObjCapability()Gets the  Capabilityon the underlying Object. | 
| Capability | getRefCapability()Gets the  Capabilityfrom this reference. | 
| GoshawkObjRef[] | getReferences()Get the objects pointed to from the current object. | 
| java.nio.ByteBuffer | getValue()Returns the current value of this object. | 
| TxnId | getVersion()Get the current version of the object. | 
| GoshawkObjRef | grantCapability(Capability capability)Create a new GoshawkObjRef to the same database object but with different capabilities. | 
| boolean | referencesSameAs(GoshawkObjRef that)Test to see if two GoshawkObjRefs refer (point) to the same underlying Object. | 
| void | set(java.nio.ByteBuffer value,
   GoshawkObjRef... references)Sets the value and references of the current object. | 
| java.lang.String | toString() | 
public final VarUUId id
public java.lang.String toString()
toString in class java.lang.Objectpublic GoshawkObjRef grantCapability(Capability capability)
capability - The capability to provide in the new referencepublic Capability getRefCapability()
Capability from this reference. This may be different from the capabilities
 discovered on the Object.Capability from the reference.public Capability getObjCapability()
Capability on the underlying Object. This is the union of all capabilities
 that have been discovered in references that point to the same underlying Object.Capability on the underlying Object.public boolean referencesSameAs(GoshawkObjRef that)
Capability within the references (which is why it's
 not called equals).that - The other GoshawkObjRefpublic java.nio.ByteBuffer getValue()
Capability for this object.public GoshawkObjRef[] getReferences()
GoshawkObjRef to which the current object refers. As with
 getValue, the array is a copy of the underlying array, so you are safe to modify it, but you
 will need to call one of the set methods for your modifications to take any effect. This
 method will error if you do not have the Read Capability for this object.public TxnId getVersion()
Capability for this object.public void set(java.nio.ByteBuffer value,
                GoshawkObjRef... references)
Capability for this object.value - The value to set the object to. The buffer will be cloned and the contents
                   copied. Therefore any changes you make to this param after calling this
                   method will be ignored (you will need to call the set method again). The
                   copying will not alter any position, limit, capacity or marks of the value
                   ByteBuffer. The value is taken to be from position 0 to the current limit
                   of the buffer.references - The new list of objects to which the current object refers. Again, the
                   array of references is copied.