Click here to Skip to main content
15,879,535 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>
NxSerializationSurrogateImpl (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="NxSerializationSurrogateImpl (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/NxSerializationSurrogateImpl.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/NxSerializationSurrogateBase.html" title="class in com.nextreme.opennxserialization.core.io.surrogates"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateImpl.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="NxSerializationSurrogateImpl.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 NxSerializationSurrogateImpl</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html" title="class in com.nextreme.opennxserialization.core.io.surrogates">com.nextreme.opennxserialization.core.io.surrogates.NxSerializationSurrogateBase</A>
      <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>com.nextreme.opennxserialization.core.io.surrogates.NxSerializationSurrogateImpl</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogate.html" title="interface in com.nextreme.opennxserialization.core.io.surrogates">NxSerializationSurrogate</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <B>NxSerializationSurrogateImpl</B><DT>extends <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html" title="class in com.nextreme.opennxserialization.core.io.surrogates">NxSerializationSurrogateBase</A><DT>implements <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogate.html" title="interface in com.nextreme.opennxserialization.core.io.surrogates">NxSerializationSurrogate</A></DL>
</PRE>

<P>
NxSerializationSurrogateImpl 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/NxSerializationSurrogateImpl.html#NxSerializationSurrogateImpl(java.lang.Class)">NxSerializationSurrogateImpl</A></B>(java.lang.Class&nbsp;type)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new instance of NxSerializationSurrogateImpl</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/NxSerializationSurrogateImpl.html#instantiate(com.nextreme.opennxserialization.core.io.NxObjectInput)">instantiate</A></B>(<A HREF="../../../../../../com/nextreme/opennxserialization/core/io/NxObjectInput.html" title="interface in com.nextreme.opennxserialization.core.io">NxObjectInput</A>&nbsp;input)</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>abstract &nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateImpl.html#readDirect(com.nextreme.opennxserialization.core.io.NxObjectInput, java.lang.Object)">readDirect</A></B>(<A HREF="../../../../../../com/nextreme/opennxserialization/core/io/NxObjectInput.html" title="interface in com.nextreme.opennxserialization.core.io">NxObjectInput</A>&nbsp;input,
           java.lang.Object&nbsp;graph)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read an object of type returned by getRealClass() from the stream reader.</TD>
</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/NxSerializationSurrogateImpl.html#readObject(com.nextreme.opennxserialization.core.io.NxObjectInput)">readObject</A></B>(<A HREF="../../../../../../com/nextreme/opennxserialization/core/io/NxObjectInput.html" title="interface in com.nextreme.opennxserialization.core.io">NxObjectInput</A>&nbsp;input)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read an object of type returned by getRealClass() from the stream reader</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateImpl.html#writeDirect(com.nextreme.opennxserialization.core.io.NxObjectOutput, java.lang.Object)">writeDirect</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;Write an object of type returned by getRealClass() to the stream writer</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/NxSerializationSurrogateImpl.html#writeObject(com.nextreme.opennxserialization.core.io.NxObjectOutput, java.lang.Object)">writeObject</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;Write an object to the underlying storage or stream.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_com.nextreme.opennxserialization.core.io.surrogates.NxSerializationSurrogateBase"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class com.nextreme.opennxserialization.core.io.surrogates.<A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html" title="class in com.nextreme.opennxserialization.core.io.surrogates">NxSerializationSurrogateBase</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html#createInstance()">createInstance</A>, <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html#getClassHandle()">getClassHandle</A>, <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html#getRealClass()">getRealClass</A>, <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html#setClassHandle(short)">setClassHandle</A>, <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateBase.html#writeHandle(com.nextreme.opennxserialization.core.io.NxObjectOutput, java.lang.Object)">writeHandle</A></CODE></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;<A NAME="methods_inherited_from_class_com.nextreme.opennxserialization.core.io.surrogates.NxSerializationSurrogate"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface com.nextreme.opennxserialization.core.io.surrogates.<A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogate.html" title="interface in com.nextreme.opennxserialization.core.io.surrogates">NxSerializationSurrogate</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogate.html#getClassHandle()">getClassHandle</A>, <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogate.html#getRealClass()">getRealClass</A>, <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogate.html#setClassHandle(short)">setClassHandle</A>, <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogate.html#writeHandle(com.nextreme.opennxserialization.core.io.NxObjectOutput, java.lang.Object)">writeHandle</A></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="NxSerializationSurrogateImpl(java.lang.Class)"><!-- --></A><H3>
NxSerializationSurrogateImpl</H3>
<PRE>
public <B>NxSerializationSurrogateImpl</B>(java.lang.Class&nbsp;type)</PRE>
<DL>
<DD>Creates a new instance of NxSerializationSurrogateImpl
<P>
</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="instantiate(com.nextreme.opennxserialization.core.io.NxObjectInput)"><!-- --></A><H3>
instantiate</H3>
<PRE>
public java.lang.Object <B>instantiate</B>(<A HREF="../../../../../../com/nextreme/opennxserialization/core/io/NxObjectInput.html" title="interface in com.nextreme.opennxserialization.core.io">NxObjectInput</A>&nbsp;input)
                             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(). This is different from NxSerializationSurrogateBase.createTypeInstance() 
 in the sense that an NxObjectInput object is passed as parameter that can be used to read creation specific 
 information from the stream. For example it can be used to read the length of the array before actually 
 reading the values.
 
 The default implementation simply delegates to super.createTypeInstance().
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>input</CODE> - stream reader
<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> - Object creation related exceptions.</DL>
</DD>
</DL>
<HR>

<A NAME="readDirect(com.nextreme.opennxserialization.core.io.NxObjectInput, java.lang.Object)"><!-- --></A><H3>
readDirect</H3>
<PRE>
public abstract java.lang.Object <B>readDirect</B>(<A HREF="../../../../../../com/nextreme/opennxserialization/core/io/NxObjectInput.html" title="interface in com.nextreme.opennxserialization.core.io">NxObjectInput</A>&nbsp;input,
                                            java.lang.Object&nbsp;graph)
                                     throws <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxInstantiationException.html" title="class in com.nextreme.opennxserialization.core.io.surrogates">NxInstantiationException</A>,
                                            <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxIOException.html" title="class in com.nextreme.opennxserialization.core.io.surrogates">NxIOException</A></PRE>
<DL>
<DD>Read an object of type returned by getRealClass() from the stream reader. 
 A fresh instance of the object is passed as parameter.
 The surrogate should populate fields in the object from data on the stream
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>input</CODE> - stream reader<DD><CODE>graph</CODE> - a fresh instance of the object that the surrogate must deserialize.
<DT><B>Returns:</B><DD>object read from the stream reader
<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> - Object creation 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> - Any of the usual Input/Output related exceptions.</DL>
</DD>
</DL>
<HR>

<A NAME="writeDirect(com.nextreme.opennxserialization.core.io.NxObjectOutput, java.lang.Object)"><!-- --></A><H3>
writeDirect</H3>
<PRE>
public abstract void <B>writeDirect</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>Write an object of type returned by getRealClass() to the stream writer
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>output</CODE> - stream writer<DD><CODE>graph</CODE> - object to be written to the stream reader
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxIOException.html" title="class in com.nextreme.opennxserialization.core.io.surrogates">NxIOException</A></CODE> - Any of the usual Input/Output related exceptions.</DL>
</DD>
</DL>
<HR>

<A NAME="readObject(com.nextreme.opennxserialization.core.io.NxObjectInput)"><!-- --></A><H3>
readObject</H3>
<PRE>
public java.lang.Object <B>readObject</B>(<A HREF="../../../../../../com/nextreme/opennxserialization/core/io/NxObjectInput.html" title="interface in com.nextreme.opennxserialization.core.io">NxObjectInput</A>&nbsp;input)
                            throws <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxInstantiationException.html" title="class in com.nextreme.opennxserialization.core.io.surrogates">NxInstantiationException</A>,
                                   <A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxIOException.html" title="class in com.nextreme.opennxserialization.core.io.surrogates">NxIOException</A></PRE>
<DL>
<DD>Read an object of type returned by getRealClass() from the stream reader
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogate.html#readObject(com.nextreme.opennxserialization.core.io.NxObjectInput)">readObject</A></CODE> in interface <CODE><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogate.html" title="interface in com.nextreme.opennxserialization.core.io.surrogates">NxSerializationSurrogate</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>input</CODE> - stream reader
<DT><B>Returns:</B><DD>object read from the stream reader
<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> - Object creation 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> - Any of the usual Input/Output related exceptions.</DL>
</DD>
</DL>
<HR>

<A NAME="writeObject(com.nextreme.opennxserialization.core.io.NxObjectOutput, java.lang.Object)"><!-- --></A><H3>
writeObject</H3>
<PRE>
public void <B>writeObject</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>Write an object to the underlying storage or stream.  The
 class that implements this interface defines how the object is
 written.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogate.html#writeObject(com.nextreme.opennxserialization.core.io.NxObjectOutput, java.lang.Object)">writeObject</A></CODE> in interface <CODE><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogate.html" title="interface in com.nextreme.opennxserialization.core.io.surrogates">NxSerializationSurrogate</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>output</CODE> - stream writer<DD><CODE>graph</CODE> - object to be written to the stream reader
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../../com/nextreme/opennxserialization/core/io/surrogates/NxIOException.html" title="class in com.nextreme.opennxserialization.core.io.surrogates">NxIOException</A></CODE> - Any of the usual Input/Output related exceptions.</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/NxSerializationSurrogateImpl.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/NxSerializationSurrogateBase.html" title="class in com.nextreme.opennxserialization.core.io.surrogates"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?com/nextreme/opennxserialization/core/io/surrogates/NxSerializationSurrogateImpl.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="NxSerializationSurrogateImpl.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