orc.trace.values
Class RecordValue

java.lang.Object
  extended by orc.trace.values.AbstractValue
      extended by orc.trace.values.RecordValue
All Implemented Interfaces:
java.io.Serializable, RecordTerm, Term, Value

public class RecordValue
extends AbstractValue
implements RecordTerm

This doesn't correspond to any specific Orc type but is instead intended to be used by implementors of TraceableValue to encode object-like immutable structures.

See Also:
Serialized Form

Field Summary
 java.lang.Class class_
           
 
Constructor Summary
RecordValue(java.lang.Class class_)
          Ok, so this isn't really immutable; you have to call put(String, Value) to actually set the mapped values.
 
Method Summary
 Term getProperty(java.lang.String key)
           
 void prettyPrint(java.io.Writer out, int indent)
          Pretty-print the term to out.
 void put(java.lang.String key, Value value)
           
 
Methods inherited from class orc.trace.values.AbstractValue
toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

class_

public final java.lang.Class class_
Constructor Detail

RecordValue

public RecordValue(java.lang.Class class_)
Ok, so this isn't really immutable; you have to call put(String, Value) to actually set the mapped values. Just promise not to change anything after you serialize the object.

Method Detail

put

public void put(java.lang.String key,
                Value value)

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.

Specified by:
prettyPrint in interface Term
Throws:
java.io.IOException
See Also:
Terms.indent(Writer, int)

getProperty

public Term getProperty(java.lang.String key)
Specified by:
getProperty in interface RecordTerm