Click here to Skip to main content
15,892,809 members
Articles / Programming Languages / Java / Java SE

OpenNxSerialization

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
16 Jun 2009GPL32 min read 20.4K   177   9  
Speed up object serialization in Java.
<!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_01) on Thu Jun 11 19:13:16 GMT+05:00 2009 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
NxSerializationSurrogateBase (NxSerialzation Help)
</TITLE>

<META NAME="date" CONTENT="2009-06-11">

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

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="NxSerializationSurrogateBase (NxSerialzation Help)";
    }
}
</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/NxSerializationSurrogateBase.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-files/index-1.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>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogate.html" title="interface in com.nextreme.opennxserialization.core.io.surrogates"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateImpl.html" title="class in com.nextreme.opennxserialization.core.io.surrogates"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="NxSerializationSurrogateBase.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;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&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.nextreme.opennxserialization.core.io.surrogates</FONT>
<BR>
Class NxSerializationSurrogateBase</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>com.nextreme.opennxserialization.core.io.surrogates.NxSerializationSurrogateBase</B>
</PRE>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateImpl.html" title="class in com.nextreme.opennxserialization.core.io.surrogates">NxSerializationSurrogateImpl</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>NxSerializationSurrogateBase</B><DT>extends java.lang.Object</DL>
</PRE>

<P>
NxSerializationSurrogateBase class.
<P>

<P>
<DL>
<DT><B>Version:</B></DT>
  <DD>1.0, September 18, 2008</DD>
</DL>
<HR>

<P>

<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_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>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html#NxSerializationSurrogateBase(java.lang.Class)">NxSerializationSurrogateBase</A></B>(java.lang.Class&nbsp;type)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== 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;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html#createInstance()">createInstance</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates instance of type returned by getRealClass().</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;short</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html#getClassHandle()">getClassHandle</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the magic ID associated with the type provided by the 
 NxTypeSurrogateSelector.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html#getRealClass()">getRealClass</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the type of object for which this object is a surrogate.</TD>
</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/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html#setClassHandle(short)">setClassHandle</A></B>(short&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the magic ID associated with the type provided by the 
 NxTypeSurrogateSelector.</TD>
</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/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html#writeHandle(com.nextreme.opennxserialization.core.io.NxObjectOutput, java.lang.Object)">writeHandle</A></B>(<A HREF="../../../../../../com/nextreme/opennxserialization/core/io/NxObjectOutput.html" title="interface in com.nextreme.opennxserialization.core.io">NxObjectOutput</A>&nbsp;output,
            java.lang.Object&nbsp;graph)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes object meta information, i.e.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_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>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="NxSerializationSurrogateBase(java.lang.Class)"><!-- --></A><H3>
NxSerializationSurrogateBase</H3>
<PRE>
public <B>NxSerializationSurrogateBase</B>(java.lang.Class&nbsp;type)</PRE>
<DL>
<DD>Constructor.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>type</CODE> - The type for which it is a surrogate.</DL>
</DL>

<!-- ============ 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="getRealClass()"><!-- --></A><H3>
getRealClass</H3>
<PRE>
public java.lang.Class <B>getRealClass</B>()</PRE>
<DL>
<DD>Return the type of object for which this object is a surrogate.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>the type of object for which this object is a surrogate</DL>
</DD>
</DL>
<HR>

<A NAME="getClassHandle()"><!-- --></A><H3>
getClassHandle</H3>
<PRE>
public short <B>getClassHandle</B>()</PRE>
<DL>
<DD>Gets the magic ID associated with the type provided by the 
 NxTypeSurrogateSelector.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Magic ID associated with the type</DL>
</DD>
</DL>
<HR>

<A NAME="setClassHandle(short)"><!-- --></A><H3>
setClassHandle</H3>
<PRE>
public void <B>setClassHandle</B>(short&nbsp;value)</PRE>
<DL>
<DD>Sets the magic ID associated with the type provided by the 
 NxTypeSurrogateSelector.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - Magic ID for the type.</DL>
</DD>
</DL>
<HR>

<A NAME="createInstance()"><!-- --></A><H3>
createInstance</H3>
<PRE>
public java.lang.Object <B>createInstance</B>()
                                throws <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxInstantiationException.html" title="class in com.nextreme.opennxserialization.core.io.surrogates">NxInstantiationException</A></PRE>
<DL>
<DD>Creates instance of type returned by getRealClass(). Calls the default 
 constructor and returns the object. There must be a default constructor 
 even though it is private.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Object that this surrogate must deserialize
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxInstantiationException.html" title="class in com.nextreme.opennxserialization.core.io.surrogates">NxInstantiationException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="writeHandle(com.nextreme.opennxserialization.core.io.NxObjectOutput, java.lang.Object)"><!-- --></A><H3>
writeHandle</H3>
<PRE>
public void <B>writeHandle</B>(<A HREF="../../../../../../com/nextreme/opennxserialization/core/io/NxObjectOutput.html" title="interface in com.nextreme.opennxserialization.core.io">NxObjectOutput</A>&nbsp;output,
                        java.lang.Object&nbsp;graph)
                 throws <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxIOException.html" title="class in com.nextreme.opennxserialization.core.io.surrogates">NxIOException</A></PRE>
<DL>
<DD>Writes object meta information, i.e. handle to the specified <paramref name="writer"/> object.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>output</CODE> - the stream to write the object to.<DD><CODE>graph</CODE> - the object to write .
<DT><B>Throws:</B>
<DD><CODE>java.io.IOException</CODE> - Any of the usual Input/Output related exceptions.
<DD><CODE><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxIOException.html" title="class in com.nextreme.opennxserialization.core.io.surrogates">NxIOException</A></CODE></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/NxSerializationSurrogateBase.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-files/index-1.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>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogate.html" title="interface in com.nextreme.opennxserialization.core.io.surrogates"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateImpl.html" title="class in com.nextreme.opennxserialization.core.io.surrogates"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="NxSerializationSurrogateBase.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;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
Architect
Pakistan Pakistan
Let a = b ....... (1)
a - b = a - b
a^2 - ab = a^2 - ab
a^2 - ab = a^2 - b^2 (from 1)
a (a - b) = (a + b) (a - b)
a = (a + b) ...... (2)

if a = 1
1 = (1 + 1) (from 1 & 2)
1 = 2 !!

Comments and Discussions