orc.trace.values
Class ObjectValue
java.lang.Object
   orc.trace.values.AbstractValue
orc.trace.values.AbstractValue
       orc.trace.values.ObjectValue
orc.trace.values.ObjectValue
- All Implemented Interfaces: 
- java.io.Serializable, Term, Value
- public class ObjectValue 
- extends AbstractValue
The only thing we can reliably record about a Java
 object is its identity. We could represent object
 identity by object identity (i.e. eschew any explicit
 id property), but that would require serialization
 to preserve object identity, which is not the case if
 you call ObjectOutputStream.reset().
 So instead we use an explicit unique numeric id for
 each instance.
- Author:
- quark
- See Also:
- Serialized Form
| Field Summary | 
|  java.lang.Class | class_
 | 
|  long | idA long is necessary instead of an int because our id space needs to
 include a unique id for all values ever, not just for all values at a
 particular point in the program (like an address).
 | 
 
| Constructor Summary | 
| ObjectValue(java.lang.Class class_)
 | 
 
| Method Summary | 
|  boolean | equals(java.lang.Object that)
 | 
|  int | hashCode()
 | 
|  void | prettyPrint(java.io.Writer out,
            int indent)Pretty-print the term to out.
 | 
 
 
| Methods inherited from class java.lang.Object | 
| clone, finalize, getClass, notify, notifyAll, wait, wait, wait | 
 
id
public final long id
- A long is necessary instead of an int because our id space needs to
 include a unique id for all values ever, not just for all values at a
 particular point in the program (like an address).
 
 
class_
public final java.lang.Class class_
ObjectValue
public ObjectValue(java.lang.Class class_)
equals
public boolean equals(java.lang.Object that)
- 
- Overrides:
- equalsin class- java.lang.Object
 
- 
 
hashCode
public int hashCode()
- 
- Overrides:
- hashCodein class- java.lang.Object
 
- 
 
prettyPrint
public void prettyPrint(java.io.Writer out,
                        int indent)
                 throws java.io.IOException
- Description copied from interface: Term
- Pretty-print the term to out. If the term is multiple lines, each newline
 should be followed by at least indent tabs. The value should not begin or
 end with a newline.
 
- 
- Throws:
- java.io.IOException
- See Also:
- Terms.indent(Writer, int)