com.sleepycat.persist.impl
Class SimpleCatalog

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

public class SimpleCatalog
extends 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 Class classForName(String className)
           
 Object convertRawObject(RawObject o, IdentityHashMap converted)
           
(package private) static List<Format> copyFormatList()
           
(package private) static boolean copyMissingFormats(List<Format> copyToList)
           
 Format createFormat(Class type, Map<String,Format> newFormats)
           
 Format createFormat(String clsName, Map<String,Format> newFormats)
           
 Format getFormat(Class cls, boolean checkEntitySubclassIndexes)
          Returns a format for a given class, or throws an exception.
 Format getFormat(int formatId, boolean expectStored)
          Returns a format for a given ID, or throws an exception.
 Format getFormat(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(Class type)
           
 boolean isRawAccess()
           
(package private) static boolean isSimpleType(Class type)
           
static Class keyClassForName(String className)
           
static String keyClassName(String className)
           
(package private) static Class primitiveToWrapper(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(Class type)

primitiveToWrapper

static Class primitiveToWrapper(Class type)

keyClassForName

public static Class keyClassForName(String className)

keyClassName

public static String keyClassName(String className)

classForName

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

getSimpleFormat

static SimpleFormat getSimpleFormat(Class type)

copyFormatList

static List<Format> copyFormatList()

copyMissingFormats

static boolean copyMissingFormats(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,
                        boolean expectStored)
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
expectStored - is true if reading a record from a database, and therefore the format ID is expected to be stored also. If the format ID is not stored, a RefreshException is thrown.

getFormat

public Format getFormat(Class cls,
                        boolean checkEntitySubclassIndexes)
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
checkEntitySubclassIndexes - is true if we're expecting this format to be an entity subclass and therefore subclass secondary indexes should be opened.

getFormat

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

Specified by:
getFormat in interface Catalog

createFormat

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

createFormat

public Format createFormat(Class type,
                           Map<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 Object convertRawObject(RawObject o,
                               IdentityHashMap converted)
Specified by:
convertRawObject in interface Catalog
See Also:
PersistCatalog.convertRawObject(com.sleepycat.persist.raw.RawObject, com.sleepycat.je.utilint.IdentityHashMap)


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