com.sleepycat.persist.impl
Class RawAbstractInput

java.lang.Object
  extended by com.sleepycat.persist.impl.AbstractInput
      extended by com.sleepycat.persist.impl.RawAbstractInput
All Implemented Interfaces:
EntityInput
Direct Known Subclasses:
RawArrayInput, RawComplexInput, RawSingleInput

abstract class RawAbstractInput
extends AbstractInput

Base class for EntityInput implementations that type-check RawObject instances and convert them to regular persistent objects, via the Format.convertRawObject method. The subclass implements readNext which should call checkAndConvert before returning the final value.

Author:
Mark Hayes

Field Summary
 
Fields inherited from class com.sleepycat.persist.impl.AbstractInput
catalog, rawAccess
 
Constructor Summary
RawAbstractInput(Catalog catalog, boolean rawAccess, IdentityHashMap converted)
           
 
Method Summary
(package private)  Object checkAndConvert(Object o, Format declaredFormat)
           
(package private) static Format checkRawType(Catalog catalog, Object o, Format declaredFormat)
           
 int readArrayLength()
          Called by ObjectArrayFormat and PrimitiveArrayFormat to read the array length.
 BigInteger readBigInteger()
           
 boolean readBoolean()
           
 byte readByte()
           
 char readChar()
           
 int readEnumConstant(String[] names)
          Called by EnumFormat to read and return index of the enum constant.
 int readInt()
           
 Object readKeyObject(Format format)
          Called for a primary key field or a composite key field with a reference type.
 long readLong()
           
(package private) abstract  Object readNext()
           
 Object readObject()
          Called via Accessor to read all fields with reference types, except for the primary key field and composite key fields (see readKeyObject below).
 short readShort()
           
 BigDecimal readSortedBigDecimal()
           
 double readSortedDouble()
           
 float readSortedFloat()
           
 String readString()
           
 Object readStringObject()
          Called for a String field, that is not a primary key field or a composite key field with a reference type.
 void registerPriKeyObject(Object o)
          Called via Accessor.readSecKeyFields for a primary key field with a reference type.
 void registerPriStringKeyObject(Object o)
          Called via Accessor.readSecKeyFields for a primary String key field.
 void skipField(Format declaredFormat)
          Called via PersistKeyCreator to skip fields prior to the secondary key field.
 
Methods inherited from class com.sleepycat.persist.impl.AbstractInput
getCatalog, isRawAccess, setRawAccess
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RawAbstractInput

RawAbstractInput(Catalog catalog,
                 boolean rawAccess,
                 IdentityHashMap converted)
Method Detail

readObject

public Object readObject()
                  throws RefreshException
Description copied from interface: EntityInput
Called via Accessor to read all fields with reference types, except for the primary key field and composite key fields (see readKeyObject below).

Throws:
RefreshException

readKeyObject

public Object readKeyObject(Format format)
                     throws RefreshException
Description copied from interface: EntityInput
Called for a primary key field or a composite key field with a reference type.

For such key fields, no formatId is present nor can the object already be present in the visited object set.

Throws:
RefreshException

readStringObject

public Object readStringObject()
                        throws RefreshException
Description copied from interface: EntityInput
Called for a String field, that is not a primary key field or a composite key field with a reference type.

For the new String format, no formatId is present nor can the object already be present in the visited object set. For the old String format, this method simply calls readObject for compatibility.

Throws:
RefreshException

registerPriKeyObject

public void registerPriKeyObject(Object o)
Description copied from interface: EntityInput
Called via Accessor.readSecKeyFields for a primary key field with a reference type. This method must be called before reading any other fields.


registerPriStringKeyObject

public void registerPriStringKeyObject(Object o)
Description copied from interface: EntityInput
Called via Accessor.readSecKeyFields for a primary String key field. This method must be called before reading any other fields.


readArrayLength

public int readArrayLength()
Description copied from interface: EntityInput
Called by ObjectArrayFormat and PrimitiveArrayFormat to read the array length.


readEnumConstant

public int readEnumConstant(String[] names)
Description copied from interface: EntityInput
Called by EnumFormat to read and return index of the enum constant.


skipField

public void skipField(Format declaredFormat)
Description copied from interface: EntityInput
Called via PersistKeyCreator to skip fields prior to the secondary key field. Also called during class evolution so skip deleted fields.


readNext

abstract Object readNext()
                  throws RefreshException
Throws:
RefreshException

checkAndConvert

Object checkAndConvert(Object o,
                       Format declaredFormat)
                 throws RefreshException
Throws:
RefreshException

checkRawType

static Format checkRawType(Catalog catalog,
                           Object o,
                           Format declaredFormat)
                    throws RefreshException
Throws:
RefreshException

readString

public String readString()
                  throws RefreshException
Throws:
RefreshException

readChar

public char readChar()
              throws RefreshException
Throws:
RefreshException

readBoolean

public boolean readBoolean()
                    throws RefreshException
Throws:
RefreshException

readByte

public byte readByte()
              throws RefreshException
Throws:
RefreshException

readShort

public short readShort()
                throws RefreshException
Throws:
RefreshException

readInt

public int readInt()
            throws RefreshException
Throws:
RefreshException

readLong

public long readLong()
              throws RefreshException
Throws:
RefreshException

readSortedFloat

public float readSortedFloat()
                      throws RefreshException
Throws:
RefreshException

readSortedDouble

public double readSortedDouble()
                        throws RefreshException
Throws:
RefreshException

readSortedBigDecimal

public BigDecimal readSortedBigDecimal()
                                throws RefreshException
Throws:
RefreshException

readBigInteger

public BigInteger readBigInteger()
                          throws RefreshException
Throws:
RefreshException


Copyright (c) 2004-2012 Oracle. All rights reserved.