Berkeley DB
version 4.7.25

com.sleepycat.persist.raw
Class RawObject

java.lang.Object
  extended by 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 simple objects using their wrapper class.

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


Constructor Summary
RawObject(RawType type, Map<String,Object> values, RawObject superObject)
          Creates a raw object with a given set of field values for a complex type.
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.
 
Method Summary
 boolean equals(Object other)
           
 Object[] getElements()
          Returns the array of elements for an array type, or null for a complex type or an enum type.
 String getEnum()
          Returns the enum constant String for an enum type, or null for a complex type or an array type.
 RawObject getSuper()
          Returns the instance of the superclass, or null if the superclass is Object or Enum.
 RawType getType()
          Returns the raw type information for this raw object.
 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.
 int hashCode()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

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 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 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 Detail

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 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 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()
Overrides:
toString in class Object

Berkeley DB
version 4.7.25

Copyright (c) 1996,2008 Oracle. All rights reserved.