com.esri.arcgis.geodatabase
Class ComplexJunctionFeature

java.lang.Object
  extended bycom.esri.arcgis.geodatabase.ComplexJunctionFeature
All Implemented Interfaces:
java.util.EventListener, IComplexJunctionFeature, IComplexNetworkFeature, IFeature, IFeatureBuffer, IFeatureChanges, IFeatureConnect, IFeatureDraw, IFeatureEdit, IFeatureEvents, IFeatureProject, IFeatureSimplify, IFeatureSnap, IJunctionFeature, INetworkFeature, INetworkFeatureEvents, IObject, IRelatedObjectEvents, IRow, IRowBuffer, IRowChanges, IRowCompare, IRowEdit, IRowEvents, IRowSubtypes, ISupportErrorInfo, IValidate, java.io.Serializable

public class ComplexJunctionFeature
extends java.lang.Object
implements IRow, IRowBuffer, IRowEvents, IRowSubtypes, IRowChanges, IRowCompare, IFeature, IFeatureBuffer, IFeatureEvents, IFeatureDraw, IFeatureChanges, IFeatureSimplify, INetworkFeature, INetworkFeatureEvents, IJunctionFeature, IComplexJunctionFeature, IComplexNetworkFeature, IRowEdit, IFeatureEdit, IFeatureSnap, IFeatureConnect, IRelatedObjectEvents, IValidate, ISupportErrorInfo, IFeatureProject

ESRI Complex junction geometric network feature.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Remarks

It is recommended that developers do not use Complex Junctions in their data modeling solutions.  Developers can leverage existing Geodatabase components in order to implement partial functionality, such as IFeatureClassExtension.

See Also:
Serialized Form

Constructor Summary
ComplexJunctionFeature()
          Constructs a ComplexJunctionFeature using ArcGIS Engine.
ComplexJunctionFeature(java.lang.Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
 
Method Summary
 IDisplayFeedback beginMoveSet(ISet features, IPoint start)
          Prepares the set of features for a move operation.
 void connect()
          Connect the Feature to the geometrically coincident NetworkFeature.
 IEnumNetEID createNetworkElements()
          Create the necessary NetworkElements in the associated Logical Network.
 void delete()
          Deletes the row.
 void deleteSet(ISet rows)
          Deletes the set of rows.
 void disconnect()
          Disconnect the Feature from all connected NetworkFeatures.
 void draw(int drawPhase, IDisplay display, ISymbol symbol, boolean symbolInstalled, IGeometry geometry, int drawStyle)
          Draws the feature on the display.
 boolean equals(java.lang.Object o)
          Compare this object with another
 IObjectClass esri_getClass()
          The Object Class for the row.
 int findEdgeEID(IPoint point)
          The EID associated with the EdgeElement at the specified point.
 int findJunctionEID(IPoint point)
          The EID associated with the JunctionElement at the specified point.
 IComplexJunctionFeature getAsIComplexJunctionFeature()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IComplexNetworkFeature getAsIComplexNetworkFeature()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IFeature getAsIFeature()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IFeatureBuffer getAsIFeatureBuffer()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IFeatureChanges getAsIFeatureChanges()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IFeatureConnect getAsIFeatureConnect()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IFeatureDraw getAsIFeatureDraw()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IFeatureEdit getAsIFeatureEdit()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IFeatureEvents getAsIFeatureEvents()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IFeatureProject getAsIFeatureProject()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IFeatureSimplify getAsIFeatureSimplify()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IFeatureSnap getAsIFeatureSnap()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IJunctionFeature getAsIJunctionFeature()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 INetworkFeature getAsINetworkFeature()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 INetworkFeatureEvents getAsINetworkFeatureEvents()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IRelatedObjectEvents getAsIRelatedObjectEvents()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IRow getAsIRow()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IRowBuffer getAsIRowBuffer()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IRowChanges getAsIRowChanges()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IRowCompare getAsIRowCompare()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IRowEdit getAsIRowEdit()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IRowEvents getAsIRowEvents()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IRowSubtypes getAsIRowSubtypes()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ISupportErrorInfo getAsISupportErrorInfo()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IValidate getAsIValidate()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
static java.lang.String getClsid()
           
 IFeatureElement getConnectionPoint(int connectionPointIndex)
          The specified connection point.
 IFeatureElement getConnectionPointByName(java.lang.String connectionPointName)
          The specified named connection point.
 int getConnectionPointCount()
          The number of connection points associated with the Feature.
 java.lang.String getConnectionPointName(int connectionPointIndex)
          The name of the specified connection point.
 int getEdgeElementCount()
          The number of edge elements associated with this Feature.
 IEdgeFeature getEdgeFeature(int connectionPointIndex, int index)
          The EdgeFeature associated with the specified index value and the indexed connection point.
 int getEdgeFeatureCount(int connectionPointIndex)
          The number of EdgeFeatures associated with the indexed connection point.
 IEnvelope getExtent()
          The extent of the feature.
 int getFeatureType()
          The type of the feature.
 IFields getFields()
          The fields Collection for this row buffer.
 int getFieldToEIDMapping(int fieldIndex)
          The EID associated with the specified field index.
 IGeometricNetwork getGeometricNetwork()
          The containing GeometricNetwork.
 IGeometry getGeometryForEdgeElement(int subID)
          The geometry corresponding to the element with the given subID.
 IGeometry getGeometryForJunctionElement(int subID)
          The geometry (point) corresponding to the junction with the given subID.
 IInvalidArea getInvalidArea()
          The area to be drawn.
 IFields getInvalidFields()
          Returns all invalid fields.
 IEnumRule getInvalidRules()
          The set of all invalid rules.
 IEnumRule getInvalidRulesByField(java.lang.String fieldName)
          The set of all invalid rules for the specified field.
 int getJunctionElementCount()
          The number of junctions associated with this Feature.
 int getNetworkAncillaryRole()
          Programmatic update of the NetworkFeature.
 int getOID()
          The OID for the row.
 IGeometry getOriginalGeometryForJunctionElement(int subID)
          The geometry (point) corresponding to the junction with the given subID.
 IGeometry getOriginalShape()
          The original shape for the feature.
 java.lang.Object getOriginalValue(int index)
          The value of the field at the specified index immediately after the last call to Store on the Row object.
 IGeometry getShape()
          A reference to the default shape for the feature.
 IGeometry getShapeCopy()
          A cloned copy of the default shape for the feature.
 int getSubtypeCode()
          The subtype for the row.
 ITable getTable()
          The Table for the row.
 int getTopologicalConfiguration()
          The configuration of this Feature.
 java.lang.Object getValue(int index)
          The value of the field with the specified index.
 int hashCode()
          the hashcode for this object
 void initDefaultValues()
          The default values of the row.
 void initShape(IFeatureEventsInitShapeEvent theEvent)
          Initialize the shape.
 void interfaceSupportsErrorInfo(GUID riid)
          Supported Platforms
 boolean isEnabled()
          Indicates whether the NetworkFeature is open or not (i.e., closed).
 boolean isEnabledByIndex(int edgeIndex)
          Indicates whether the NetworkFeature is open or not (i.e., closed).
 boolean isEqual(IRow pOtherRow)
          Indicates if the rows (which may be from two different versions) are the same (oid + values).
 boolean isHasOID()
          Indicates if the row has an OID.
 boolean isShapeChanged()
          Indicates if the shape has changed.
 boolean isValueChanged(int index)
          Indicates whether the value of the field at the specified index has changed since the last call to Store on the Row object.
 void moveSet(ISet features, ILine moveVector)
          Moves the set of features through a distance and direction specified by moveVector.
 void onChanged(IRowEventsOnChangedEvent theEvent)
          An after event that is fired when a custom object is changed.
 void onConnect()
          Preparation for connecting a NetworkFeature to another.
 void onDelete(IRowEventsOnDeleteEvent theEvent)
          An after event that is fired when a custom object is deleted.
 void onDisconnect()
          Preparation for disconnecting the NetworkFeature.
 void onInitialize(IRowEventsOnInitializeEvent theEvent)
          An after event that is fired when a custom object is initialized.
 void onMerge(IFeatureEventsOnMergeEvent theEvent)
          An after event that is fired when Features have been merged, on each deleted input Feature.
 void onNew(IRowEventsOnNewEvent theEvent)
          An after event that is fired when a custom object is Stored for the first time.
 void onSplit(IFeatureEventsOnSplitEvent theEvent)
          An after event that is fired when a Feature is split, on the deleted input Feature.
 void onValidate(IRowEventsOnValidateEvent theEvent)
          An after event that is fired when a custom object is validated.
 void project(ISpatialReference outputSR)
          Project the feature geometry to the provided spatial reference.
 void relatedObjectChanged(IRelationshipClass relationshipClass, IObject objectThatChanged)
          Notifies this object that a related object changed.
 void relatedObjectMoved(IRelationshipClass relationshipClass, IObject objectThatChanged, ILine moveVector)
          Notifies this object that a related object moved.
 void relatedObjectRotated(IRelationshipClass relationshipClass, IObject objectThatChanged, IPoint origin, double angle)
          Notifies this object that a related object rotated.
 void relatedObjectSetMoved(IRelationshipClass relationshipClass, ISet objectsThatNeedToChange, ISet objectsThatChanged, ILine moveVector)
          Notifies this object that a set of objects with relationships to the input set of objects moved.
 void relatedObjectSetRotated(IRelationshipClass relationshipClass, ISet objectsThatNeedToChange, ISet objectsThatChanged, IPoint origin, double angle)
          Notifies this object that a set of objects with relationships to the input set of objects rotated.
 void rotateSet(ISet features, IPoint origin, double angle)
          Rotates the set of features according to the specified origin and angle.
 void setEnabled(boolean isEnabled)
          Indicates whether the NetworkFeature is open or not (i.e., closed).
 void setEnabledByIndex(int edgeIndex, boolean isEnabled)
          Indicates whether the NetworkFeature is open or not (i.e., closed).
 void setInvalidAreaByRef(IInvalidArea invalidArea)
          The area to be drawn.
 void setJunctionElementCount(int numJunctions)
          The number of junctions associated with this Feature.
 void setNetworkAncillaryRole(int role)
          Programmatic update of the NetworkFeature.
 void setRotationAngle(double rhs1)
          The rotation angle of this Feature.
 void setShapeByRef(IGeometry shape)
          A reference to the default shape for the feature.
 void setSubtypeCode(int subtypeCode)
          The subtype for the row.
 void setTopologicalConfiguration(int configuration)
          The configuration of this Feature.
 void setValue(int index, java.lang.Object value)
          The value of the field with the specified index.
 void simplifyGeometry(IGeometry pGeometry)
          Simplifies the input geometry using the rules appropriate for this feature.
 boolean snap(IPoint point, double tolerance)
          Snap the feature based on the arguments.
 ISet split(IGeometry point)
          Split the feature.
 void splitAttributes(IFeature baseFeature)
          Split the feature attributes.
 void store()
          Stores the row.
 void update(INetworkFeature callingFeature, IAffineTransformation2D transformation, ISet rigidEdges, ITransformGroup group)
          Programmatic update of the NetworkFeature.
 boolean validate(java.lang.String[] errorMessage)
          Validates the row.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComplexJunctionFeature

public ComplexJunctionFeature()
                       throws java.io.IOException,
                              java.net.UnknownHostException
Constructs a ComplexJunctionFeature using ArcGIS Engine.

Throws:
java.io.IOException - if there are interop problems
java.net.UnknownHostException - if there are interop problems

ComplexJunctionFeature

public ComplexJunctionFeature(java.lang.Object obj)
                       throws java.io.IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.

Construct a ComplexJunctionFeature using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to ComplexJunctionFeature.
ComplexJunctionFeature theComplexJunctionFeature = (ComplexJunctionFeature) obj;

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

getClsid

public static java.lang.String getClsid()

getAsIRow

public IRow getAsIRow()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIRowBuffer

public IRowBuffer getAsIRowBuffer()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIRowEvents

public IRowEvents getAsIRowEvents()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIRowSubtypes

public IRowSubtypes getAsIRowSubtypes()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIRowChanges

public IRowChanges getAsIRowChanges()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIRowCompare

public IRowCompare getAsIRowCompare()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeature

public IFeature getAsIFeature()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeatureBuffer

public IFeatureBuffer getAsIFeatureBuffer()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeatureEvents

public IFeatureEvents getAsIFeatureEvents()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeatureDraw

public IFeatureDraw getAsIFeatureDraw()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeatureChanges

public IFeatureChanges getAsIFeatureChanges()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeatureSimplify

public IFeatureSimplify getAsIFeatureSimplify()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsINetworkFeature

public INetworkFeature getAsINetworkFeature()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsINetworkFeatureEvents

public INetworkFeatureEvents getAsINetworkFeatureEvents()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIJunctionFeature

public IJunctionFeature getAsIJunctionFeature()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIComplexJunctionFeature

public IComplexJunctionFeature getAsIComplexJunctionFeature()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIComplexNetworkFeature

public IComplexNetworkFeature getAsIComplexNetworkFeature()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIRowEdit

public IRowEdit getAsIRowEdit()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeatureEdit

public IFeatureEdit getAsIFeatureEdit()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeatureSnap

public IFeatureSnap getAsIFeatureSnap()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeatureConnect

public IFeatureConnect getAsIFeatureConnect()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIRelatedObjectEvents

public IRelatedObjectEvents getAsIRelatedObjectEvents()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIValidate

public IValidate getAsIValidate()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsISupportErrorInfo

public ISupportErrorInfo getAsISupportErrorInfo()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeatureProject

public IFeatureProject getAsIFeatureProject()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


equals

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


hashCode

public int hashCode()
the hashcode for this object


isHasOID

public boolean isHasOID()
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IRow
Indicates if the row has an OID.

Supported Platforms

Windows, Solaris, Linux

Remarks

If the table has been registered with the geodatabase it will have unique Object ID, automatically created by the register tool, and the HasOID property will be set to True. Tables not registered with the geodatabase will not have an OID column and the HasOID property will be set to False.  See the IClassSchemaEdit::RegisterAsObjectClass method for more information.

Specified by:
isHasOID in interface IRow
Returns:
The hasOID
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getOID

public int getOID()
           throws java.io.IOException,
                  AutomationException
Description copied from interface: IRow
The OID for the row.

Supported Platforms

Windows, Solaris, Linux

Description

Gets the OID for a row in a table that has a unique Object ID, such as tables registered with the geodatabase.

Specified by:
getOID in interface IRow
Returns:
The oID
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getTable

public ITable getTable()
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IRow
The Table for the row.

Supported Platforms

Windows, Solaris, Linux

Description

Returns a pointer to the table the row belongs to.

Specified by:
getTable in interface IRow
Returns:
A reference to a com.esri.arcgis.geodatabase.ITable
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

store

public void store()
           throws java.io.IOException,
                  AutomationException
Description copied from interface: IRow
Stores the row.

Supported Platforms

Windows, Solaris, Linux

Remarks

The Store method is called by an application once it has modified the values of a Row. Once Store is called on a Row object, all subsequent queries within the same edit session, using the Geodatabase API, will reflect the modified state of the Row object.

All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.

Calling the Store method triggers the following actions:

- The IRowEvents::OnChanged is called for the row being stored. The OnNew is called if this is a newly created row being stored for the first time. A custom row object can implement the OnChanged method and take some special action when it is called - for example; update a special column in the row

- The IRelatedObjectEvents::RelatedObjectChanged method is called for related objects in a related object class if the table for this row is an object class that participates in relationship classes with notification

Store should not be used for batch operations, such as updates or inserts.  For performing a number of inserts or updates using cursors, refer to the ITable::Insert, ITable::Update, ITable::UpdateSearchedRows , IFeatureClass::Update andIFeatureClass::Insert.  If an insert or update cursor is used on non-simple features (such as network features), the cursor will revert to using Store.

It is not necessary to explicitly call Connect on network features, this is handled polymorphically when Store is called on the feature. This is also the case with features in a Topology, Dirty Area creation is handled internally when Store is called.

Store should not be called inside of edit events, such as OnCreateFeature, OnChangeFeature or OnDeleteFeature.  Even if you are modifying the geometry or other field values, Store will be called once the event is complete.

Specified by:
store in interface IRow
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

delete

public void delete()
            throws java.io.IOException,
                   AutomationException
Description copied from interface: IRow
Deletes the row.

Supported Platforms

Windows, Solaris, Linux

Remarks

All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.

Specified by:
delete in interface IRow
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getValue

public java.lang.Object getValue(int index)
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IRowBuffer
The value of the field with the specified index.

Supported Platforms

Windows, Solaris, Linux

Remarks

The Index parameter is a zero based index.

Specified by:
getValue in interface IRowBuffer
Parameters:
index - The index (in)
Returns:
A Variant
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setValue

public void setValue(int index,
                     java.lang.Object value)
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IRowBuffer
The value of the field with the specified index.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setValue in interface IRowBuffer
Parameters:
index - The index (in)
value - A Variant (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFields

public IFields getFields()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IRowBuffer
The fields Collection for this row buffer.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFields in interface IRowBuffer
Returns:
A reference to a com.esri.arcgis.geodatabase.IFields
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onChanged

public void onChanged(IRowEventsOnChangedEvent theEvent)
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IRowEvents
An after event that is fired when a custom object is changed.

Supported Platforms

Windows, Solaris, Linux

Remarks

The OnChanged method is called by the geodatabase when an application program calls Store on an existing Row object.

Specified by:
onChanged in interface IRowEvents
Parameters:
theEvent - The event
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

onDelete

public void onDelete(IRowEventsOnDeleteEvent theEvent)
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IRowEvents
An after event that is fired when a custom object is deleted.

Supported Platforms

Windows, Solaris, Linux

Remarks

The OnDelete method is called by the geodatabase when an application program calls Delete on a Row object.

Specified by:
onDelete in interface IRowEvents
Parameters:
theEvent - The event
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

onInitialize

public void onInitialize(IRowEventsOnInitializeEvent theEvent)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IRowEvents
An after event that is fired when a custom object is initialized.

Supported Platforms

Windows, Solaris, Linux

Remarks

The OnInitialize method is called by the geodatabase after hydrating a cocreated Row object with its state (its set of field values) but before handing the Row to an application program. This is an opportunity for the Row object to initialize further state and derived member variables.

Specified by:
onInitialize in interface IRowEvents
Parameters:
theEvent - The event
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onNew

public void onNew(IRowEventsOnNewEvent theEvent)
           throws java.io.IOException,
                  AutomationException
Description copied from interface: IRowEvents
An after event that is fired when a custom object is Stored for the first time.

Supported Platforms

Windows, Solaris, Linux

Remarks

The OnNew method is called by the geodatabase when an application program calls Store on a newly created Row object.

Specified by:
onNew in interface IRowEvents
Parameters:
theEvent - The event
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onValidate

public void onValidate(IRowEventsOnValidateEvent theEvent)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IRowEvents
An after event that is fired when a custom object is validated.

Supported Platforms

Windows, Solaris, Linux

Description

OnValidate maintains information about particular functionality...

Specified by:
onValidate in interface IRowEvents
Parameters:
theEvent - The event
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubtypeCode

public int getSubtypeCode()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IRowSubtypes
The subtype for the row.

Supported Platforms

Windows, Solaris, Linux

Remarks

When creating new objects within ArcMap, the default subtype and any default values are automatically set. When objects are created programmatically, the default subtype and default values are not automatically set. The subtype code of the feature can be specified with the SubtypeCode property.

All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.

Specified by:
getSubtypeCode in interface IRowSubtypes
Returns:
The subtypeCode
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSubtypeCode

public void setSubtypeCode(int subtypeCode)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IRowSubtypes
The subtype for the row.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSubtypeCode in interface IRowSubtypes
Parameters:
subtypeCode - The subtypeCode (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

initDefaultValues

public void initDefaultValues()
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IRowSubtypes
The default values of the row.

Supported Platforms

Windows, Solaris, Linux

Remarks

When creating new objects within ArcMap, the default subtype and any default values are automatically set. When objects are created programmatically, the default subtype and default values are not automatically set.  InitDefaultValues will populate fields with the specified default values.

All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation

Specified by:
initDefaultValues in interface IRowSubtypes
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isValueChanged

public boolean isValueChanged(int index)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IRowChanges
Indicates whether the value of the field at the specified index has changed since the last call to Store on the Row object.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isValueChanged in interface IRowChanges
Parameters:
index - The index (in)
Returns:
The changed
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOriginalValue

public java.lang.Object getOriginalValue(int index)
                                  throws java.io.IOException,
                                         AutomationException
Description copied from interface: IRowChanges
The value of the field at the specified index immediately after the last call to Store on the Row object.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getOriginalValue in interface IRowChanges
Parameters:
index - The index (in)
Returns:
A Variant
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isEqual

public boolean isEqual(IRow pOtherRow)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IRowCompare
Indicates if the rows (which may be from two different versions) are the same (oid + values).

Specified by:
isEqual in interface IRowCompare
Parameters:
pOtherRow - A reference to a com.esri.arcgis.geodatabase.IRow (in)
Returns:
The isEqual
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getShapeCopy

public IGeometry getShapeCopy()
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IFeature
A cloned copy of the default shape for the feature.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getShapeCopy in interface IFeature
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getShape

public IGeometry getShape()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IFeature
A reference to the default shape for the feature.

Supported Platforms

Windows, Solaris, Linux

Remarks

The basic process to change the shape of a feature is:

1) Get the feature's existing geometry through IFeature.Shape or create a new geometry
2) Modify the geometry
3) Set the feature's geometry using IFeature.Shape
4) Store the feature

All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.

Specified by:
getShape in interface IFeature
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setShapeByRef

public void setShapeByRef(IGeometry shape)
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IFeature
A reference to the default shape for the feature.

Specified by:
setShapeByRef in interface IFeature
Parameters:
shape - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtent

public IEnvelope getExtent()
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IFeature
The extent of the feature.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtent in interface IFeature
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws: