com.esri.arcgis.carto
Class SimpleNetworkRenderer

java.lang.Object
  extended by com.esri.arcgis.carto.SimpleNetworkRenderer
All Implemented Interfaces:
ILegendInfo, INetworkEdgeRenderer, INetworkEdgeRenderer2, INetworkRenderer, ISimpleNetworkRenderer, com.esri.arcgis.interop.RemoteObjRef, IPersist, IPersistStream, IPropertySupport, Externalizable, Serializable

public class SimpleNetworkRenderer
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ISimpleNetworkRenderer, INetworkRenderer, INetworkEdgeRenderer, INetworkEdgeRenderer2, ILegendInfo, IPersistStream, IPropertySupport, Externalizable

A simple renderer used to display network dataset junctions, edges, and turns.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

See Also:
Serialized Form

Constructor Summary
SimpleNetworkRenderer()
          Constructs a SimpleNetworkRenderer using ArcGIS Engine.
SimpleNetworkRenderer(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
SimpleNetworkRenderer theSimpleNetworkRenderer = (SimpleNetworkRenderer) obj;
 
Method Summary
 boolean applies(Object pUnk)
          Indicates if the receiver can apply the given object at any given time.
 Object apply(Object newObject)
          Applies the given property to the receiver and returns the old object.
 boolean canApply(Object pUnk)
          Indicates if the receiver can apply the given object at that particular moment.
 boolean canRender(INetworkLayer layer, IDisplay display)
          Indicates if the renderer can draw.
 void draw(INetworkLayer layer, int drawPhase, IDisplay display, ITrackCancel trackCancel)
          Draws the network dataset.
 boolean equals(Object o)
          Compare this object with another
 String getArrowAttributeName()
          The name of the restriction attribute used to display edge traversability.
 ISymbol getArrowSymbol(int symbolType)
          The symbol for the specified arrow symbol type.
 int getArrowType()
          The position of the arrow used to display edge traversability.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 Object getCurrent(Object pUnk)
          The object currently being used.
 String getDescription()
          The description for the label.
 String getLabel()
          The descriptive symbol text.
 ILegendGroup getLegendGroup(int index)
          Legend group at the specified index.
 int getLegendGroupCount()
          Number of legend groups contained by the object.
 ILegendItem getLegendItem()
          Optional.
 String getName()
          The descriptive name of a renderer.
 int getRendererType()
          The type of the network renderer.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 ISymbol getSymbol()
          The symbol used to render elements.
 int hashCode()
          the hashcode for this object
 void isDirty()
          isDirty
 boolean isRenderPhase(int drawPhase)
          Indicates if renderer uses the specified draw phase.
 boolean isShowArrows(int symbolType)
          Indicates if arrows are visible for the specified arrow symbol type.
 boolean isSymbolsAreGraduated()
          Indicates if symbols are graduated.
 void load(IStream pstm)
          load
 void readExternal(ObjectInput in)
           
 void save(IStream pstm, int fClearDirty)
          save
 void setArrowAttributeName(String name)
          The name of the restriction attribute used to display edge traversability.
 void setArrowSymbol(int symbolType, ISymbol symbol)
          The symbol for the specified arrow symbol type.
 void setArrowType(int type)
          The position of the arrow used to display edge traversability.
 void setDescription(String text)
          The description for the label.
 void setLabel(String label)
          The descriptive symbol text.
 void setName(String name)
          The descriptive name of a renderer.
 void setRendererType(int type)
          The type of the network renderer.
 void setShowArrows(int symbolType, boolean show)
          Indicates if arrows are visible for the specified arrow symbol type.
 void setSymbolByRef(ISymbol symbol)
          The symbol used to render elements.
 void setSymbolsAreGraduated(boolean symbolsAreGraduated)
          Indicates if symbols are graduated.
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

SimpleNetworkRenderer

public SimpleNetworkRenderer()
                      throws IOException,
                             UnknownHostException
Constructs a SimpleNetworkRenderer using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

SimpleNetworkRenderer

public SimpleNetworkRenderer(Object obj)
                      throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
SimpleNetworkRenderer theSimpleNetworkRenderer = (SimpleNetworkRenderer) obj;

Construct a SimpleNetworkRenderer using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to SimpleNetworkRenderer.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getSymbol

public ISymbol getSymbol()
                  throws IOException,
                         AutomationException
The symbol used to render elements.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getSymbol in interface ISimpleNetworkRenderer
Returns:
A reference to a com.esri.arcgis.display.ISymbol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolByRef

public void setSymbolByRef(ISymbol symbol)
                    throws IOException,
                           AutomationException
The symbol used to render elements.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setSymbolByRef in interface ISimpleNetworkRenderer
Parameters:
symbol - A reference to a com.esri.arcgis.display.ISymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLabel

public String getLabel()
                throws IOException,
                       AutomationException
The descriptive symbol text.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getLabel in interface ISimpleNetworkRenderer
Returns:
The label
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLabel

public void setLabel(String label)
              throws IOException,
                     AutomationException
The descriptive symbol text.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setLabel in interface ISimpleNetworkRenderer
Parameters:
label - The label (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDescription

public String getDescription()
                      throws IOException,
                             AutomationException
The description for the label.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getDescription in interface ISimpleNetworkRenderer
Returns:
The text
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDescription

public void setDescription(String text)
                    throws IOException,
                           AutomationException
The description for the label.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setDescription in interface ISimpleNetworkRenderer
Parameters:
text - The text (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

draw

public void draw(INetworkLayer layer,
                 int drawPhase,
                 IDisplay display,
                 ITrackCancel trackCancel)
          throws IOException,
                 AutomationException
Draws the network dataset.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
draw in interface INetworkRenderer
Parameters:
layer - A reference to a com.esri.arcgis.carto.INetworkLayer (in)
drawPhase - A com.esri.arcgis.system.esriDrawPhase constant (in)
display - A reference to a com.esri.arcgis.display.IDisplay (in)
trackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canRender

public boolean canRender(INetworkLayer layer,
                         IDisplay display)
                  throws IOException,
                         AutomationException
Indicates if the renderer can draw.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
canRender in interface INetworkRenderer
Parameters:
layer - A reference to a com.esri.arcgis.carto.INetworkLayer (in)
display - A reference to a com.esri.arcgis.display.IDisplay (in)
Returns:
The canRender
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

public String getName()
               throws IOException,
                      AutomationException
The descriptive name of a renderer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getName in interface INetworkRenderer
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setName

public void setName(String name)
             throws IOException,
                    AutomationException
The descriptive name of a renderer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setName in interface INetworkRenderer
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isRenderPhase

public boolean isRenderPhase(int drawPhase)
                      throws IOException,
                             AutomationException
Indicates if renderer uses the specified draw phase.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
isRenderPhase in interface INetworkRenderer
Parameters:
drawPhase - A com.esri.arcgis.system.esriDrawPhase constant (in)
Returns:
The result
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRendererType

public int getRendererType()
                    throws IOException,
                           AutomationException
The type of the network renderer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getRendererType in interface INetworkRenderer
Returns:
A com.esri.arcgis.carto.esriNetworkRendererType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRendererType

public void setRendererType(int type)
                     throws IOException,
                            AutomationException
The type of the network renderer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setRendererType in interface INetworkRenderer
Parameters:
type - A com.esri.arcgis.carto.esriNetworkRendererType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getArrowAttributeName

public String getArrowAttributeName()
                             throws IOException,
                                    AutomationException
The name of the restriction attribute used to display edge traversability.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getArrowAttributeName in interface INetworkEdgeRenderer
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setArrowAttributeName

public void setArrowAttributeName(String name)
                           throws IOException,
                                  AutomationException
The name of the restriction attribute used to display edge traversability.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setArrowAttributeName in interface INetworkEdgeRenderer
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setArrowType

public void setArrowType(int type)
                  throws IOException,
                         AutomationException
The position of the arrow used to display edge traversability.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setArrowType in interface INetworkEdgeRenderer
Parameters:
type - A com.esri.arcgis.carto.esriNetworkArrowType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getArrowType

public int getArrowType()
                 throws IOException,
                        AutomationException
The position of the arrow used to display edge traversability.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getArrowType in interface INetworkEdgeRenderer
Returns:
A com.esri.arcgis.carto.esriNetworkArrowType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setArrowSymbol

public void setArrowSymbol(int symbolType,
                           ISymbol symbol)
                    throws IOException,
                           AutomationException
The symbol for the specified arrow symbol type.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setArrowSymbol in interface INetworkEdgeRenderer
Parameters:
symbolType - A com.esri.arcgis.carto.esriNetworkArrowSymbolType constant (in)
symbol - A reference to a com.esri.arcgis.display.ISymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getArrowSymbol

public ISymbol getArrowSymbol(int symbolType)
                       throws IOException,
                              AutomationException
The symbol for the specified arrow symbol type.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getArrowSymbol in interface INetworkEdgeRenderer
Parameters:
symbolType - A com.esri.arcgis.carto.esriNetworkArrowSymbolType constant (in)
Returns:
A reference to a com.esri.arcgis.display.ISymbol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setShowArrows

public void setShowArrows(int symbolType,
                          boolean show)
                   throws IOException,
                          AutomationException
Indicates if arrows are visible for the specified arrow symbol type.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setShowArrows in interface INetworkEdgeRenderer2
Parameters:
symbolType - A com.esri.arcgis.carto.esriNetworkArrowSymbolType constant (in)
show - The show (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isShowArrows

public boolean isShowArrows(int symbolType)
                     throws IOException,
                            AutomationException
Indicates if arrows are visible for the specified arrow symbol type.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
isShowArrows in interface INetworkEdgeRenderer2
Parameters:
symbolType - A com.esri.arcgis.carto.esriNetworkArrowSymbolType constant (in)
Returns:
The show
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendGroupCount

public int getLegendGroupCount()
                        throws IOException,
                               AutomationException
Number of legend groups contained by the object.

Remarks

The number of legend groups is determined by the implementation of the renderer, consequently this property is read only. For example, SimpleRenderer has one group, while a BiUniqueValueRenderer has any number of groups.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLegendGroupCount in interface ILegendInfo
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendGroup

public ILegendGroup getLegendGroup(int index)
                            throws IOException,
                                   AutomationException
Legend group at the specified index.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getLegendGroup in interface ILegendInfo
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.carto.ILegendGroup
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendItem

public ILegendItem getLegendItem()
                          throws IOException,
                                 AutomationException
Optional. Defines legend formatting for layer rendered with this object.

Remarks

Layer or renderer legend information is further formatted for display in ArcMap legends. A renderer can override this formatting by returning a LegendItem for this property. ESRI renderers typically do not return anything for this property. With this configuration, legend formatting becomes a user or developer choice on the legend object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLegendItem in interface ILegendInfo
Returns:
A reference to a com.esri.arcgis.carto.ILegendItem
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSymbolsAreGraduated

public boolean isSymbolsAreGraduated()
                              throws IOException,
                                     AutomationException
Indicates if symbols are graduated.

Description

Indicates whether the symbols used for a layer or renderer's legend vary by size.

Remarks

For example the proportional symbol renderer returns True for this property.

You can use this property to distinguish between a layer symbolized with graduated color or graduated symbol type layer symbology. Both of these symbolizations use a ClassBreaksRenderer, but only a graduated symbol symbolization will return True for this property.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isSymbolsAreGraduated in interface ILegendInfo
Returns:
The symbolsAreGraduated
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolsAreGraduated

public void setSymbolsAreGraduated(boolean symbolsAreGraduated)
                            throws IOException,
                                   AutomationException
Indicates if symbols are graduated.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSymbolsAreGraduated in interface ILegendInfo
Parameters:
symbolsAreGraduated - The symbolsAreGraduated (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDirty

public void isDirty()
             throws IOException,
                    AutomationException
isDirty

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDirty in interface IPersistStream
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

load

public void load(IStream pstm)
          throws IOException,
                 AutomationException
load

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
load in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

save

public void save(IStream pstm,
                 int fClearDirty)
          throws IOException,
                 AutomationException
save

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
save in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
fClearDirty - The fClearDirty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeMax

public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
                throws IOException,
                       AutomationException
getSizeMax

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassID

public void getClassID(GUID[] pClassID)
                throws IOException,
                       AutomationException
getClassID

Description

IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassID in interface IPersist
Parameters:
pClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

applies

public boolean applies(Object pUnk)
                throws IOException,
                       AutomationException
Indicates if the receiver can apply the given object at any given time.

Remarks

Applies indicates whether the specified object can be applied to the current object. For instance, we might want to ask our CircleElement whether a Color object applies to it. If it does, then we can use the Apply method to update our CircleElement with the new Color object.

CanApply differs from Applies in that it is a check for the editability of the object at any given time. Applies indicates whether an object can be applied at all, while CanApply indicates whether an object can be applied at that particular moment.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
applies in interface IPropertySupport
Parameters:
pUnk - A reference to another Object (IUnknown) (in)
Returns:
The applies
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canApply

public boolean canApply(Object pUnk)
                 throws IOException,
                        AutomationException
Indicates if the receiver can apply the given object at that particular moment.

Remarks

CanApply indicates whether the specified object can be applied to the current object. For instance, we might want to ask our CircleElement whether a Color object applies to it. If it does, then we can use the Apply method to update our CircleElement with the new Color object.

CanApply differs from Applies in that it is a check for the editability of the object at any given time. Applies indicates whether an object can be applied at all, while CanApply indicates whether an object can be applied at that particular moment.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
canApply in interface IPropertySupport
Parameters:
pUnk - A reference to another Object (IUnknown) (in)
Returns:
The canApply
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCurrent

public Object getCurrent(Object pUnk)
                  throws IOException,
                         AutomationException
The object currently being used.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getCurrent in interface IPropertySupport
Parameters:
pUnk - A reference to another Object (IUnknown) (in)
Returns:
A reference to another Object (IUnknown)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

apply

public Object apply(Object newObject)
             throws IOException,
                    AutomationException
Applies the given property to the receiver and returns the old object.

Remarks

Apply will apply the specified object to the current object. For instance, I might apply a Color object to my RectangleElement. When I execute Apply, the object I replace (the old object) is returned.

Use the Applies and CanApply methods to determine if an Apply can be used on an object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
apply in interface IPropertySupport
Parameters:
newObject - A reference to another Object (IUnknown) (in)
Returns:
A reference to another Object (IUnknown)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException