Class RawObject

java.lang.Object
com.sleepycat.persist.raw.RawObject

public class RawObject extends Object
A raw instance that can be used with a RawStore or Conversion. A RawObject is used to represent instances of complex types (persistent classes with fields), arrays, and enum values. It is not used to represent non-enum simple types, which are represented as simple objects. This includes primitives, which are represented as instances of their wrapper class.

RawObject objects are thread-safe. Multiple threads may safely call the methods of a shared RawObject object.

  • Constructor Summary

    Constructors
    Constructor
    Description
    RawObject(RawType type, Object[] elements)
    Creates a raw object with the given array elements for an array type.
    RawObject(RawType type, String enumConstant)
    Creates a raw object with the given enum value for an enum type.
    RawObject(RawType type, Map<String,Object> values, RawObject superObject)
    Creates a raw object with a given set of field values for a complex type.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    equals(Object other)
     
    Returns the array of elements for an array type, or null for a complex type or an enum type.
    Returns the enum constant String for an enum type, or null for a complex type or an array type.
    Returns the instance of the superclass, or null if the superclass is Object or Enum.
    Returns the raw type information for this raw object.
    Returns a map of field name to value for a complex type, or null for an array type or an enum type.
    int
     
    Returns an XML representation of the raw object.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • RawObject

      public RawObject(RawType type, Map<String,Object> values, RawObject superObject)
      Creates a raw object with a given set of field values for a complex type.
      Parameters:
      type - the type of this raw object.
      values - a map of field name to value for each declared field in the class, or null to create an empty map. Each value in the map is a RawObject, a invalid input: '{@link <a href="../model/Entity.html#simpleTypes">simple' type} instance, or null.
      superObject - the instance of the superclass, or null if the superclass is Object.
      Throws:
      IllegalArgumentException - if the type argument is an array type.
    • RawObject

      public RawObject(RawType type, Object[] elements)
      Creates a raw object with the given array elements for an array type.
      Parameters:
      type - the type of this raw object.
      elements - an array of elements. Each element in the array is a RawObject, a invalid input: '{@link <a href="../model/Entity.html#simpleTypes">simple' type} instance, or null.
      Throws:
      IllegalArgumentException - if the type argument is not an array type.
    • RawObject

      public RawObject(RawType type, String enumConstant)
      Creates a raw object with the given enum value for an enum type.
      Parameters:
      type - the type of this raw object.
      enumConstant - the String value of this enum constant; must be one of the Strings returned by RawType.getEnumConstants().
      Throws:
      IllegalArgumentException - if the type argument is not an array type.
  • Method Details

    • getType

      public RawType getType()
      Returns the raw type information for this raw object.

      Note that if this object is unevolved, the returned type may be different from the current type returned by EntityModel.getRawType for the same class name. This can only occur in a Conversion.convert.

    • getValues

      public Map<String,Object> getValues()
      Returns a map of field name to value for a complex type, or null for an array type or an enum type. The map contains a String key for each declared field in the class. Each value in the map is a RawObject, a
      invalid @link
      {@link <a href="../model/Entity.html#simpleTypes">simple
      type} instance, or null.

      There will be an entry in the map for every field declared in this type, as determined by RawType.getFields() for the type returned by getType(). Values in the map may be null for fields with non-primitive types.

    • getElements

      public Object[] getElements()
      Returns the array of elements for an array type, or null for a complex type or an enum type. Each element in the array is a RawObject, a
      invalid @link
      {@link <a href="../model/Entity.html#simpleTypes">simple
      type} instance, or null.
    • getEnum

      public String getEnum()
      Returns the enum constant String for an enum type, or null for a complex type or an array type. The String returned will be one of the Strings returned by RawType.getEnumConstants().
    • getSuper

      public RawObject getSuper()
      Returns the instance of the superclass, or null if the superclass is Object or Enum.
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Returns an XML representation of the raw object.
      Overrides:
      toString in class Object