com.esri.arcgis.geodatabase
Class RelationshipClassName

java.lang.Object
  extended by com.esri.arcgis.geodatabase.RelationshipClassName
All Implemented Interfaces:
IDatasetName, IMetadata, IMetadataEdit, INativeTypeInfo, IRelationshipClassName, ISQLPrivilege, com.esri.arcgis.interop.RemoteObjRef, IName, IPersist, IPersistStream, Externalizable, Serializable

public class RelationshipClassName
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IName, IDatasetName, IRelationshipClassName, IPersist, IPersistStream, IMetadata, IMetadataEdit, INativeTypeInfo, ISQLPrivilege, Externalizable

Esri Relationship Class Name object.

Remarks

A RelationshipClassName identifies and locates a relationship class in a workspace and supports obtaining some key properties of the feature class without having to open (instantiate) it.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
RelationshipClassName()
          Constructs a RelationshipClassName using ArcGIS Engine.
RelationshipClassName(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
RelationshipClassName theRelationshipClassName = (RelationshipClassName) obj;
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
 int getCardinality()
          The Cardinality.
 String getCategory()
          The category of the dataset.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 IDatasetName getFeatureDatasetName()
          The Feature Dataset Name object.
 IPropertySet getMetadata()
          The PropertySet containing metadata.
 String getName()
          The name of the dataset.
 String getNameString()
          The name string of the object.
 INativeType getNativeType()
          The native type.
 int getNotification()
          The Notification.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 int getSQLPrivileges()
          The database privileges.
 IEnumDatasetName getSubsetNames()
          Subset names contained within this dataset name.
 int getType()
          The type of the dataset.
 IWorkspaceName getWorkspaceName()
          The WorkspaceName of the DatasetName.
 void grant(String userName, int privileges, boolean withGrant)
          Grants privileges for the database user.
 int hashCode()
          the hashcode for this object
 boolean isAttributed()
          Indicates if Attributed.
 boolean isCanEditMetadata()
          Indicates if metadata can be edited.
 boolean isComposite()
          Indicates if Composite.
 void isDirty()
          isDirty
 void load(IStream pstm)
          load
 Object open()
          Opens the object referred to by this name.
 void readExternal(ObjectInput in)
           
 void revoke(String userName, int privileges)
          Revokes privileges for the database user.
 void save(IStream pstm, int fClearDirty)
          save
 void setCardinality(int cardinality)
          The Cardinality.
 void setCategory(String category)
          The category of the dataset.
 void setFeatureDatasetNameByRef(IDatasetName featureDatasetName)
          The Feature Dataset Name object.
 void setIsAttributed(boolean isAttributed)
          Indicates if Attributed.
 void setIsComposite(boolean isComposite)
          Indicates if Composite.
 void setMetadata(IPropertySet ppPropertySet)
          The PropertySet containing metadata.
 void setName(String name)
          The name of the dataset.
 void setNameString(String nameString)
          The name string of the object.
 void setNotification(int notification)
          The Notification.
 void setWorkspaceNameByRef(IWorkspaceName workspaceName)
          The WorkspaceName of the DatasetName.
 void synchronize(int action, int interval)
          Updates metadata with the current properties; may create metadata if it doesn't already exist.
 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

RelationshipClassName

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

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

RelationshipClassName

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

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

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

setNameString

public void setNameString(String nameString)
                   throws IOException,
                          AutomationException
The name string of the object.

Remarks

The NameString property is reserved for future use. When implemented, it will return a string representation of the locational component of the name object that may be persisted by applications.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getNameString

public String getNameString()
                     throws IOException,
                            AutomationException
The name string of the object.

Remarks

The NameString property is reserved for future use. When implemented, it will return a string representation of the locational component of the name object that may be persisted by applications.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getNameString in interface IName
Returns:
The nameString
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

open

public Object open()
            throws IOException,
                   AutomationException
Opens the object referred to by this name.

Remarks

The Open method lets you instantiate the actual object given the name object.

Note: Opening a feature class that participates in a topology or geometric network will also open all other feature classes participating in the topology or geometric network in memory.

Example:

IName   pName = pFeatureClassName; 
pFeatureClass = new IFeatureClassProxy(pName.open());

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getName

public String getName()
               throws IOException,
                      AutomationException
The name of the dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getName in interface IDatasetName
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 name of the dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getType

public int getType()
            throws IOException,
                   AutomationException
The type of the dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getType in interface IDatasetName
Returns:
A com.esri.arcgis.geodatabase.esriDatasetType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCategory

public String getCategory()
                   throws IOException,
                          AutomationException
The category of the dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCategory in interface IDatasetName
Returns:
The category
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCategory

public void setCategory(String category)
                 throws IOException,
                        AutomationException
The category of the dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getWorkspaceName

public IWorkspaceName getWorkspaceName()
                                throws IOException,
                                       AutomationException
The WorkspaceName of the DatasetName.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getWorkspaceName in interface IDatasetName
Returns:
A reference to a com.esri.arcgis.geodatabase.IWorkspaceName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setWorkspaceNameByRef

public void setWorkspaceNameByRef(IWorkspaceName workspaceName)
                           throws IOException,
                                  AutomationException
The WorkspaceName of the DatasetName.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setWorkspaceNameByRef in interface IDatasetName
Parameters:
workspaceName - A reference to a com.esri.arcgis.geodatabase.IWorkspaceName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubsetNames

public IEnumDatasetName getSubsetNames()
                                throws IOException,
                                       AutomationException
Subset names contained within this dataset name.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSubsetNames in interface IDatasetName
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumDatasetName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFeatureDatasetName

public IDatasetName getFeatureDatasetName()
                                   throws IOException,
                                          AutomationException
The Feature Dataset Name object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFeatureDatasetName in interface IRelationshipClassName
Returns:
A reference to a com.esri.arcgis.geodatabase.IDatasetName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFeatureDatasetNameByRef

public void setFeatureDatasetNameByRef(IDatasetName featureDatasetName)
                                throws IOException,
                                       AutomationException
The Feature Dataset Name object.

Product Availability

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

Specified by:
setFeatureDatasetNameByRef in interface IRelationshipClassName
Parameters:
featureDatasetName - A reference to a com.esri.arcgis.geodatabase.IDatasetName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCardinality

public int getCardinality()
                   throws IOException,
                          AutomationException
The Cardinality.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCardinality in interface IRelationshipClassName
Returns:
A com.esri.arcgis.geodatabase.esriRelCardinality constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCardinality

public void setCardinality(int cardinality)
                    throws IOException,
                           AutomationException
The Cardinality.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setCardinality in interface IRelationshipClassName
Parameters:
cardinality - A com.esri.arcgis.geodatabase.esriRelCardinality constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNotification

public int getNotification()
                    throws IOException,
                           AutomationException
The Notification.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getNotification in interface IRelationshipClassName
Returns:
A com.esri.arcgis.geodatabase.esriRelNotification constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNotification

public void setNotification(int notification)
                     throws IOException,
                            AutomationException
The Notification.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setNotification in interface IRelationshipClassName
Parameters:
notification - A com.esri.arcgis.geodatabase.esriRelNotification constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isComposite

public boolean isComposite()
                    throws IOException,
                           AutomationException
Indicates if Composite.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setIsComposite

public void setIsComposite(boolean isComposite)
                    throws IOException,
                           AutomationException
Indicates if Composite.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isAttributed

public boolean isAttributed()
                     throws IOException,
                            AutomationException
Indicates if Attributed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setIsAttributed

public void setIsAttributed(boolean isAttributed)
                     throws IOException,
                            AutomationException
Indicates if Attributed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setIsAttributed in interface IRelationshipClassName
Parameters:
isAttributed - The isAttributed (in)
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.

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.

getMetadata

public IPropertySet getMetadata()
                         throws IOException,
                                AutomationException
The PropertySet containing metadata.

Remarks

The variable to hold the data must be of IPropertySet data type.

The metadata property is frequently used to save, or update, changes to metadata documents that have taken place through methods available on the IPropertySet, IXmlPropertySet, and/or IXmlPropertySet2 interfaces.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMetadata in interface IMetadata
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMetadata

public void setMetadata(IPropertySet ppPropertySet)
                 throws IOException,
                        AutomationException
The PropertySet containing metadata.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

synchronize

public void synchronize(int action,
                        int interval)
                 throws IOException,
                        AutomationException
Updates metadata with the current properties; may create metadata if it doesn't already exist.

Description

The Synchronize method is used to extract metadata properties from an object and write those properties to the metadata .xml. Depending on the value of the esriMetaSyncAction, the Synchronize method may generate a new set of metadata if it doesn't already exist.

Remarks

The following actions will result in synchronization given each of the listed conditions:

Action Metadata status Esri/Sync element Interval parameter
esriMSAAccessed Doesn't matter Must not be FALSE Must be less than actual interval
esriMSAAlways Doesn't matter Doesn't matter Doesn't matter
esriMSACreated Must not exist Must not be FALSE Must be less than actual interval
esriMSANotCreated Must exist Must not be FALSE Must be less than actual interval
esriMSAOverwrite Doesn't matter Doesn't matter Doesn't matter

The difference between esriMSAAlways and esriMSAOverwrite lies in which elements are synchronized. esriMSAAlways will honor the removal or value change of an element's Sync attribute (to disable synchronization), whereas using esriMSAOverwrite is equivalent to setting the IXmlPropertySet2.OverwriteSyncAttribute to true for the metadata's property set, meaning that even elements without a Sync attribute of TRUE will be synchronized.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
synchronize in interface IMetadata
Parameters:
action - A com.esri.arcgis.geodatabase.esriMetadataSyncAction constant (in)
interval - The interval (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanEditMetadata

public boolean isCanEditMetadata()
                          throws IOException,
                                 AutomationException
Indicates if metadata can be edited.

Remarks

This property is available to those objects that support metadata.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCanEditMetadata in interface IMetadataEdit
Returns:
The pCanEdit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNativeType

public INativeType getNativeType()
                          throws IOException,
                                 AutomationException
The native type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getNativeType in interface INativeTypeInfo
Returns:
A reference to a com.esri.arcgis.geodatabase.INativeType
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSQLPrivileges

public int getSQLPrivileges()
                     throws IOException,
                            AutomationException
The database privileges.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSQLPrivileges in interface ISQLPrivilege
Returns:
The privileges
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

grant

public void grant(String userName,
                  int privileges,
                  boolean withGrant)
           throws IOException,
                  AutomationException
Grants privileges for the database user.

Description

The esriSQLPrivilege enumeration defines privieges that that can be granted with ISQLPrivilege:

Enumeration esriSQLPrivilege SQL Privileges

1 - esriSelectPrivilege

Select

2 - esriUpdatePrivilege

Update

4 - esriInsertPrivilege

Insert

8 - esriDeletePrivilege

Delete

The values may be bitwise OR'd together if more than one privilege applies (note that this is equal to summing the integer values). The dataset name could be a feature dataset, in which case the user would receive privileges on all the contents of the feature dataset.

If TRUE, the withGrant parameter denotes that the user may grant access privileges to other users.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
grant in interface ISQLPrivilege
Parameters:
userName - The userName (in)
privileges - The privileges (in)
withGrant - The withGrant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

revoke

public void revoke(String userName,
                   int privileges)
            throws IOException,
                   AutomationException
Revokes privileges for the database user.

Remarks

The esriSQLPrivilege enumeration defines privieges that that can be revoked with ISQLPrivilege:

Enumeration esriSQLPrivilege SQL Privileges

1 - esriSelectPrivilege

Select

2 - esriUpdatePrivilege

Update

4 - esriInsertPrivilege

Insert

8 - esriDeletePrivilege

Delete

The values may be bitwise OR'd together if more than one priviege applies (note that this is equal to summing the integer values). The dataset name could be a feature dataset, in which case the user would no longer have privileges on the contents of the feature dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
revoke in interface ISQLPrivilege
Parameters:
userName - The userName (in)
privileges - The privileges (in)
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