Current File : //usr/share/doc/bdb/java/com/sleepycat/bind/serial/ClassCatalog.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_23) on Fri May 11 14:10:06 EDT 2012 -->
<TITLE>
ClassCatalog (Oracle - Berkeley DB Java API)
</TITLE>

<META NAME="date" CONTENT="2012-05-11">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../style.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="ClassCatalog (Oracle - Berkeley DB Java API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ClassCatalog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<b>Berkeley DB</b><br><font size="-1"> version 5.3.21</font></EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../com/sleepycat/bind/serial/SerialBase.html" title="class in com.sleepycat.bind.serial"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?com/sleepycat/bind/serial/ClassCatalog.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ClassCatalog.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
com.sleepycat.bind.serial</FONT>
<BR>
Interface ClassCatalog</H2>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../com/sleepycat/bind/serial/StoredClassCatalog.html" title="class in com.sleepycat.bind.serial">StoredClassCatalog</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>ClassCatalog</B></DL>
</PRE>

<P>
A catalog of class description information for use during object
 serialization.

 <p>A catalog is used to store class descriptions separately from serialized
 objects, to avoid redundantly stored information with each object.
 When serialized objects are stored in a database, a <A HREF="../../../../com/sleepycat/bind/serial/StoredClassCatalog.html" title="class in com.sleepycat.bind.serial"><CODE>StoredClassCatalog</CODE></A> should be used.</p>

 <p>This information is used for serialization of class descriptors or
 java.io.ObjectStreamClass objects, each of which represents a unique class
 format.  For each unique format, a unique class ID is assigned by the
 catalog.  The class ID can then be used in the serialization stream in place
 of the full class information.  When used with <A HREF="../../../../com/sleepycat/bind/serial/SerialInput.html" title="class in com.sleepycat.bind.serial"><CODE>SerialInput</CODE></A> and
 <A HREF="../../../../com/sleepycat/bind/serial/SerialOutput.html" title="class in com.sleepycat.bind.serial"><CODE>SerialOutput</CODE></A> or any of the serial bindings, the use of the catalog
 is transparent to the application.</p>
<P>

<P>
<DL>
<DT><B>See Also:</B><DD><a href="SerialBinding.html#evolution">Class Evolution</a></DL>
<HR>

<P>

<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/ClassCatalog.html#close()">close</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Close a catalog database and release any cached resources.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/ObjectStreamClass.html?is-external=true" title="class or interface in java.io">ObjectStreamClass</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/ClassCatalog.html#getClassFormat(byte[])">getClassFormat</A></B>(byte[]&nbsp;classID)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the ObjectStreamClass for the given class ID.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/ClassCatalog.html#getClassID(java.io.ObjectStreamClass)">getClassID</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/ObjectStreamClass.html?is-external=true" title="class or interface in java.io">ObjectStreamClass</A>&nbsp;classDesc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the class ID for the current version of the given class
 description.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/sleepycat/bind/serial/ClassCatalog.html#getClassLoader()">getClassLoader</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the ClassLoader to be used by bindings that use this catalog.</TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="close()"><!-- --></A><H3>
close</H3>
<PRE>
void <B>close</B>()
           throws <A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></PRE>
<DL>
<DD>Close a catalog database and release any cached resources.
<P>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getClassID(java.io.ObjectStreamClass)"><!-- --></A><H3>
getClassID</H3>
<PRE>
byte[] <B>getClassID</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/ObjectStreamClass.html?is-external=true" title="class or interface in java.io">ObjectStreamClass</A>&nbsp;classDesc)
                  throws <A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A>,
                         <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</A></PRE>
<DL>
<DD>Return the class ID for the current version of the given class
 description.
 This is used for storing in serialization streams in place of a full
 class descriptor, since it is much more compact.  To get back the
 ObjectStreamClass for a class ID, call <A HREF="../../../../com/sleepycat/bind/serial/ClassCatalog.html#getClassFormat(byte[])"><CODE>getClassFormat(byte[])</CODE></A>.
 This function causes a new class ID to be assigned if the class
 description has changed.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>classDesc</CODE> - The class description for which to return the
 class ID.
<DT><B>Returns:</B><DD>The class ID for the current version of the class.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></CODE>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getClassFormat(byte[])"><!-- --></A><H3>
getClassFormat</H3>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/ObjectStreamClass.html?is-external=true" title="class or interface in java.io">ObjectStreamClass</A> <B>getClassFormat</B>(byte[]&nbsp;classID)
                                 throws <A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A>,
                                        <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</A></PRE>
<DL>
<DD>Return the ObjectStreamClass for the given class ID.  This may or may
 not be the current class format, depending on whether the class has
 changed since the class ID was generated.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>classID</CODE> - The class ID for which to return the class format.
<DT><B>Returns:</B><DD>The class format for the given class ID, which may or may not
 represent the current version of the class.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db">DatabaseException</A></CODE>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getClassLoader()"><!-- --></A><H3>
getClassLoader</H3>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</A> <B>getClassLoader</B>()</PRE>
<DL>
<DD>Returns the ClassLoader to be used by bindings that use this catalog.
 The ClassLoader is used by <A HREF="../../../../com/sleepycat/bind/serial/SerialBinding.html" title="class in com.sleepycat.bind.serial"><CODE>SerialBinding</CODE></A> to load classes whose
 description is stored in the catalog.

 <p>In BDB JE, the implementation of this method in <A HREF="../../../../com/sleepycat/bind/serial/StoredClassCatalog.html" title="class in com.sleepycat.bind.serial"><CODE>StoredClassCatalog</CODE></A> returns the ClassLoader property of the catalog
 database Environment.  This ensures that the Environment's ClassLoader
 property is used for loading all user-supplied classes.</p>
<P>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ClassCatalog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<b>Berkeley DB</b><br><font size="-1"> version 5.3.21</font></EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../com/sleepycat/bind/serial/SerialBase.html" title="class in com.sleepycat.bind.serial"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?com/sleepycat/bind/serial/ClassCatalog.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ClassCatalog.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
<font size=1>Copyright (c) 1996, 2012 Oracle and/or its affiliates.  All rights reserved.</font>
</BODY>
</HTML>