com.esri.arcgis.trackinganalyst
Class DataMessage

java.lang.Object
  extended by com.esri.arcgis.trackinganalyst.DataMessage
All Implemented Interfaces:
com.esri.arcgis.interop.RemoteObjRef, IDocumentVersionSupportGEN, IPersist, IPersistStream, ISupportErrorInfo, IArguments, IDataMessage, IMarshal, IMessage, Externalizable, Serializable

public class DataMessage
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IDataMessage, IMessage, IArguments, IPersistStream, IMarshal, ISupportErrorInfo, IDocumentVersionSupportGEN, Externalizable

Message containing data routed by the Tracking Server.

Remarks

The DataMessage class encapsulates all of the needed information to represent a row of data. This data can be spatially or non-spatial and can have tracking information or not. It also can have temporal information or not as well.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

See Also:
Serialized Form

Constructor Summary
DataMessage()
          Constructs a DataMessage using ArcGIS Engine.
DataMessage(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
DataMessage theDataMessage = (DataMessage) obj;
 
Method Summary
 void addArgument(Object pValue)
          Adds an argument to the data message.
 void addColumn(Object pValue)
          Adds a column to the data message.
 Object convertToSupportedObject(int docVersion)
          Convert the object to another object that is supported.
 void disconnectObject(int dwReserved)
          disconnectObject
 boolean equals(Object o)
          Compare this object with another
 Object getArgument(int nIndex)
          Gets an argument for the data message.
 int getArgumentCount()
          Number of arguments in the data message.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 Object getColumn(int nIndex)
          Returns value for columns in the data message.
 int getColumnCount()
          Number of columns in data message.
 Object getCreationDate()
          Indicates date of data message's creation.
 String getDataDefinitionID()
          ID value for the data definition in the message.
 String getDestination()
          Indicates destination of the data message.
 String getID()
          ID value for the data message.
 void getMarshalSizeMax(GUID riid, int pv, int dwDestContext, int pvDestContext, int mshlflags, int[] pSize)
          getMarshalSizeMax
 int getMessageType()
          Indicates type of data message.
 int getPriority()
          Indictes priority of data message.
 Object getRawColumn(int nIndex)
          Returns the Raw column info.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 void getUnmarshalClass(GUID riid, int pv, int dwDestContext, int pvDestContext, int mshlflags, GUID[] pCid)
          getUnmarshalClass
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 void isDirty()
          isDirty
 boolean isSupportedAtVersion(int docVersion)
          Is this object valid at the given document version.
 void load(IStream pstm)
          load
 void marshalInterface(IStream pStm, GUID riid, int pv, int dwDestContext, int pvDestContext, int mshlflags)
          marshalInterface
 void readExternal(ObjectInput in)
           
 void releaseMarshalData(IStream pStm)
          releaseMarshalData
 void removeArgument(int nIndex)
          Removes an argument from the data message.
 void removeColumn(int nIndex)
          Removes a column from the data message.
 void save(IStream pstm, int fClearDirty)
          save
 void setArgument(int nIndex, Object pValue)
          Sets an argument for the data message.
 void setColumn(int nIndex, Object pValue)
          Sets the number of columns in a data message.
 void setDataDefinitionID(String pVal)
          ID value for the data definition in the message.
 void setDestination(String pVal)
          Indicates destination of the data message.
 void setPriority(int pVal)
          Indictes priority of data message.
 void unmarshalInterface(IStream pStm, GUID riid, int ppv)
          unmarshalInterface
 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

DataMessage

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

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

DataMessage

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

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

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

getCreationDate

public Object getCreationDate()
                       throws IOException,
                              AutomationException
Indicates date of data message's creation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
getCreationDate in interface IArguments
Specified by:
getCreationDate in interface IDataMessage
Specified by:
getCreationDate in interface IMessage
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getID

public String getID()
             throws IOException,
                    AutomationException
ID value for the data message.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
getID in interface IArguments
Specified by:
getID in interface IDataMessage
Specified by:
getID in interface IMessage
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMessageType

public int getMessageType()
                   throws IOException,
                          AutomationException
Indicates type of data message.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
getMessageType in interface IArguments
Specified by:
getMessageType in interface IDataMessage
Specified by:
getMessageType in interface IMessage
Returns:
A com.esri.arcgis.trackinganalyst.enumMessageType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPriority

public int getPriority()
                throws IOException,
                       AutomationException
Indictes priority of data message.

Description

The property indicates priority of data message in queue.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
getPriority in interface IArguments
Specified by:
getPriority in interface IDataMessage
Specified by:
getPriority in interface IMessage
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPriority

public void setPriority(int pVal)
                 throws IOException,
                        AutomationException
Indictes priority of data message.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
setPriority in interface IArguments
Specified by:
setPriority in interface IDataMessage
Specified by:
setPriority in interface IMessage
Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDestination

public String getDestination()
                      throws IOException,
                             AutomationException
Indicates destination of the data message.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
getDestination in interface IArguments
Specified by:
getDestination in interface IDataMessage
Specified by:
getDestination in interface IMessage
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDestination

public void setDestination(String pVal)
                    throws IOException,
                           AutomationException
Indicates destination of the data message.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
setDestination in interface IArguments
Specified by:
setDestination in interface IDataMessage
Specified by:
setDestination in interface IMessage
Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getArgumentCount

public int getArgumentCount()
                     throws IOException,
                            AutomationException
Number of arguments in the data message.

Description

The ArgumentCount property provides the number of arguments that the message has.

Remarks

Same as ColumnCount.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
getArgumentCount in interface IArguments
Specified by:
getArgumentCount in interface IDataMessage
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setArgument

public void setArgument(int nIndex,
                        Object pValue)
                 throws IOException,
                        AutomationException
Sets an argument for the data message.

Description

This method sets value for an argument in a message at specified index.

Remarks

Same as setColumn.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
setArgument in interface IArguments
Specified by:
setArgument in interface IDataMessage
Parameters:
nIndex - The nIndex (in)
pValue - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addArgument

public void addArgument(Object pValue)
                 throws IOException,
                        AutomationException
Adds an argument to the data message.

Description

The addArgument method allows the user to add an argument to the argument list.

Remarks

Same as addColumn.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
addArgument in interface IArguments
Specified by:
addArgument in interface IDataMessage
Parameters:
pValue - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeArgument

public void removeArgument(int nIndex)
                    throws IOException,
                           AutomationException
Removes an argument from the data message.

Remarks

Same as removeColumn.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
removeArgument in interface IArguments
Specified by:
removeArgument in interface IDataMessage
Parameters:
nIndex - The nIndex (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getArgument

public Object getArgument(int nIndex)
                   throws IOException,
                          AutomationException
Gets an argument for the data message.

Description

The getArgument retrieves an argument from the argument list at the user specified index.

Remarks

Same as getColumn.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
getArgument in interface IArguments
Specified by:
getArgument in interface IDataMessage
Parameters:
nIndex - The nIndex (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDataDefinitionID

public String getDataDefinitionID()
                           throws IOException,
                                  AutomationException
ID value for the data definition in the message.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
getDataDefinitionID in interface IDataMessage
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDataDefinitionID

public void setDataDefinitionID(String pVal)
                         throws IOException,
                                AutomationException
ID value for the data definition in the message.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

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

getColumnCount

public int getColumnCount()
                   throws IOException,
                          AutomationException
Number of columns in data message.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
getColumnCount in interface IDataMessage
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setColumn

public void setColumn(int nIndex,
                      Object pValue)
               throws IOException,
                      AutomationException
Sets the number of columns in a data message.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
setColumn in interface IDataMessage
Parameters:
nIndex - The nIndex (in)
pValue - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addColumn

public void addColumn(Object pValue)
               throws IOException,
                      AutomationException
Adds a column to the data message.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
addColumn in interface IDataMessage
Parameters:
pValue - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeColumn

public void removeColumn(int nIndex)
                  throws IOException,
                         AutomationException
Removes a column from the data message.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

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

getColumn

public Object getColumn(int nIndex)
                 throws IOException,
                        AutomationException
Returns value for columns in the data message.

Description

This method returns value for the column specified by the index in the data message.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
getColumn in interface IDataMessage
Parameters:
nIndex - The nIndex (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRawColumn

public Object getRawColumn(int nIndex)
                    throws IOException,
                           AutomationException
Returns the Raw column info. For Objects it is a array of bytes conforming to the IPersist Stream format.

Description

This method returns the raw column info. For Objects it is an array of bytes conforming to the IPersist Stream format.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
getRawColumn in interface IDataMessage
Parameters:
nIndex - The nIndex (in)
Returns:
A Variant
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.

getUnmarshalClass

public void getUnmarshalClass(GUID riid,
                              int pv,
                              int dwDestContext,
                              int pvDestContext,
                              int mshlflags,
                              GUID[] pCid)
                       throws IOException,
                              AutomationException
getUnmarshalClass

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
getUnmarshalClass in interface IMarshal
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
pv - A COM void* (in)
dwDestContext - The dwDestContext (in)
pvDestContext - A COM void* (in)
mshlflags - The mshlflags (in)
pCid - 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.

getMarshalSizeMax

public void getMarshalSizeMax(GUID riid,
                              int pv,
                              int dwDestContext,
                              int pvDestContext,
                              int mshlflags,
                              int[] pSize)
                       throws IOException,
                              AutomationException
getMarshalSizeMax

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
getMarshalSizeMax in interface IMarshal
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
pv - A COM void* (in)
dwDestContext - The dwDestContext (in)
pvDestContext - A COM void* (in)
mshlflags - The mshlflags (in)
pSize - The pSize (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

marshalInterface

public void marshalInterface(IStream pStm,
                             GUID riid,
                             int pv,
                             int dwDestContext,
                             int pvDestContext,
                             int mshlflags)
                      throws IOException,
                             AutomationException
marshalInterface

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
marshalInterface in interface IMarshal
Parameters:
pStm - A reference to a com.esri.arcgis.system.IStream (in)
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
pv - A COM void* (in)
dwDestContext - The dwDestContext (in)
pvDestContext - A COM void* (in)
mshlflags - The mshlflags (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

unmarshalInterface

public void unmarshalInterface(IStream pStm,
                               GUID riid,
                               int ppv)
                        throws IOException,
                               AutomationException
unmarshalInterface

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
unmarshalInterface in interface IMarshal
Parameters:
pStm - A reference to a com.esri.arcgis.system.IStream (in)
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
ppv - A COM void* (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

releaseMarshalData

public void releaseMarshalData(IStream pStm)
                        throws IOException,
                               AutomationException
releaseMarshalData

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
releaseMarshalData in interface IMarshal
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.

disconnectObject

public void disconnectObject(int dwReserved)
                      throws IOException,
                             AutomationException
disconnectObject

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

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

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSupportedAtVersion

public boolean isSupportedAtVersion(int docVersion)
                             throws IOException,
                                    AutomationException
Is this object valid at the given document version.

Remarks

Use IsSupportedAtVersion to identify if a particular object should be saved to the ObjectStream. This result is based on the esriArcGISVersion enumeration. In some instances, if the object is not supported at a particular ArcGIS version, the object may support conversion to another similar object; use IDocumentVersionSupportGEN::ConvertToSupportedObject to accomplish this.

Product Availability

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

Specified by:
isSupportedAtVersion in interface IDocumentVersionSupportGEN
Parameters:
docVersion - A com.esri.arcgis.system.esriArcGISVersion constant (in)
Returns:
The supported
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

convertToSupportedObject

public Object convertToSupportedObject(int docVersion)
                                throws IOException,
                                       AutomationException
Convert the object to another object that is supported.

Remarks

This method should be used when IDocumentVersionSupportGEN::IsSupportedAtVersion returns FALSE. Calling ConvertToSupportedObject will return an IUnknown pointer to a relevant object supported at the particular ArcGIS version. Not all objects will return a supported object; in these cases a null pointer will be returned.

Product Availability

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

Specified by:
convertToSupportedObject in interface IDocumentVersionSupportGEN
Parameters:
docVersion - A com.esri.arcgis.system.esriArcGISVersion constant (in)
Returns:
A Variant
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