public class StoredClassCatalog extends java.lang.Object implements ClassCatalog
ClassCatalog
that is stored in a Database
.
A single StoredClassCatalog
object is normally used along
with a set of databases that stored serialized objects.
Constructor and Description |
---|
StoredClassCatalog(Database database)
Creates a catalog based on a given database.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Close a catalog database and release any cached resources.
|
java.io.ObjectStreamClass |
getClassFormat(byte[] classID)
Return the ObjectStreamClass for the given class ID.
|
byte[] |
getClassID(java.io.ObjectStreamClass classFormat)
Return the class ID for the current version of the given class
description.
|
java.lang.ClassLoader |
getClassLoader()
For BDB JE, returns the ClassLoader property of the catalog database
environment.
|
public StoredClassCatalog(Database database) throws DatabaseException, java.lang.IllegalArgumentException
database
- an open database to use as the class catalog. It must
be a BTREE database and must not allow duplicates.DatabaseException
- if an error occurs accessing the database.java.lang.IllegalArgumentException
- if the database is not a BTREE database
or if it configured to allow duplicates.public void close() throws DatabaseException
ClassCatalog
close
in interface ClassCatalog
DatabaseException
public byte[] getClassID(java.io.ObjectStreamClass classFormat) throws DatabaseException, java.lang.ClassNotFoundException
ClassCatalog
ClassCatalog.getClassFormat(byte[])
.
This function causes a new class ID to be assigned if the class
description has changed.getClassID
in interface ClassCatalog
classFormat
- The class description for which to return the
class ID.DatabaseException
java.lang.ClassNotFoundException
public java.io.ObjectStreamClass getClassFormat(byte[] classID) throws DatabaseException, java.lang.ClassNotFoundException
ClassCatalog
getClassFormat
in interface ClassCatalog
classID
- The class ID for which to return the class format.DatabaseException
java.lang.ClassNotFoundException
public java.lang.ClassLoader getClassLoader()
For BDB, this method returns null because no Environment ClassLoader property is available. This method may be overridden to return a ClassLoader.
getClassLoader
in interface ClassCatalog
Copyright (c) 2004,2014 Oracle. All rights reserved.