com.sleepycat.persist.impl
Class SimpleCatalog

java.lang.Object
  extended by com.sleepycat.persist.impl.SimpleCatalog
All Implemented Interfaces:
Catalog

public class SimpleCatalog
extends java.lang.Object
implements Catalog

A static catalog containing simple types only. Once created, this catalog is immutable. For bindings accessed by a PersistComparator during recovery, the SimpleCatalog provides formats for all simple types. To reduce redundant format objects, the SimpleCatalog's formats are copied when creating a regular PersistCatalog. This class also contains utility methods for dealing with primitives.

Author:
Mark Hayes

Field Summary
 
Fields inherited from interface com.sleepycat.persist.impl.Catalog
BETA_VERSION, CURRENT_VERSION
 
Method Summary
static java.lang.Class classForName(java.lang.String className)
           
 java.lang.Object convertRawObject(RawObject o, java.util.IdentityHashMap converted)
           
(package private) static java.util.List<Format> copyFormatList()
           
(package private) static boolean copyMissingFormats(java.util.List<Format> copyToList)
           
 Format createFormat(java.lang.Class type, java.util.Map<java.lang.String,Format> newFormats)
           
 Format createFormat(java.lang.String clsName, java.util.Map<java.lang.String,Format> newFormats)
           
 Format getFormat(java.lang.Class cls)
          Returns a format for a given class, or throws an exception.
 Format getFormat(int formatId)
          Returns a format for a given ID, or throws an exception.
 Format getFormat(java.lang.String className)
          Returns a format by class name.
 int getInitVersion(Format format, boolean forReader)
          See above.
(package private) static SimpleCatalog getInstance()
           
(package private) static SimpleFormat getSimpleFormat(java.lang.Class type)
           
 boolean isRawAccess()
           
(package private) static boolean isSimpleType(java.lang.Class type)
           
static java.lang.Class keyClassForName(java.lang.String className)
           
static java.lang.String keyClassName(java.lang.String className)
           
(package private) static java.lang.Class primitiveToWrapper(java.lang.Class type)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

static SimpleCatalog getInstance()

isSimpleType

static boolean isSimpleType(java.lang.Class type)

primitiveToWrapper

static java.lang.Class primitiveToWrapper(java.lang.Class type)

keyClassForName

public static java.lang.Class keyClassForName(java.lang.String className)

keyClassName

public static java.lang.String keyClassName(java.lang.String className)

classForName

public static java.lang.Class classForName(java.lang.String className)
                                    throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

getSimpleFormat

static SimpleFormat getSimpleFormat(java.lang.Class type)

copyFormatList

static java.util.List<Format> copyFormatList()

copyMissingFormats

static boolean copyMissingFormats(java.util.List<Format> copyToList)

getInitVersion

public int getInitVersion(Format format,
                          boolean forReader)
Description copied from interface: Catalog
See above.

Specified by:
getInitVersion in interface Catalog

getFormat

public Format getFormat(int formatId)
Description copied from interface: Catalog
Returns a format for a given ID, or throws an exception. This method is used when reading an object from the byte array format.

Specified by:
getFormat in interface Catalog

getFormat

public Format getFormat(java.lang.Class cls)
Description copied from interface: Catalog
Returns a format for a given class, or throws an exception. This method is used when writing an object that was passed in by the user.

Specified by:
getFormat in interface Catalog

getFormat

public Format getFormat(java.lang.String className)
Description copied from interface: Catalog
Returns a format by class name. Unlike Catalog.getFormat(Class), the format will not be created if it is not already known.

Specified by:
getFormat in interface Catalog

createFormat

public Format createFormat(java.lang.String clsName,
                           java.util.Map<java.lang.String,Format> newFormats)
Specified by:
createFormat in interface Catalog
See Also:
PersistCatalog.createFormat(java.lang.String, java.util.Map)

createFormat

public Format createFormat(java.lang.Class type,
                           java.util.Map<java.lang.String,Format> newFormats)
Specified by:
createFormat in interface Catalog
See Also:
PersistCatalog.createFormat(java.lang.String, java.util.Map)

isRawAccess

public boolean isRawAccess()
Specified by:
isRawAccess in interface Catalog
See Also:
PersistCatalog.isRawAccess()

convertRawObject

public java.lang.Object convertRawObject(RawObject o,
                                         java.util.IdentityHashMap converted)
Specified by:
convertRawObject in interface Catalog
See Also:
PersistCatalog.convertRawObject(com.sleepycat.persist.raw.RawObject, java.util.IdentityHashMap)


Copyright 2004,2008 Oracle. All rights reserved.