com.esri.arcgis.networkanalyst
Class NALocationFeature

java.lang.Object
  extended bycom.esri.arcgis.networkanalyst.NALocationFeature
All Implemented Interfaces:
java.util.EventListener, IFeature, IFeatureBuffer, IFeatureChanges, IFeatureDraw, IFeatureEdit, IFeatureEdit2, IFeatureEvents, IFeatureProject, IFeatureSimplify, INALocationObject, IObject, IRelatedObjectEvents, IRow, IRowBuffer, IRowChanges, IRowCompare, IRowEdit, IRowEvents, IRowSubtypes, ISupportErrorInfo, IValidate, java.io.Serializable

public class NALocationFeature
extends java.lang.Object
implements INALocationObject, IRow, IObject, IFeature, IFeatureBuffer, IFeatureChanges, IFeatureDraw, IFeatureEdit, IFeatureEdit2, IFeatureEvents, IFeatureSimplify, ISupportErrorInfo, IRelatedObjectEvents, IRowChanges, IRowCompare, IRowEdit, IRowEvents, IRowSubtypes, IValidate, IFeatureProject

A network location which can be used like feature a row.

Product Availability

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

Remarks

An NALocationFeature is a Feature that implements INALocationObject

The NALocationFeature represents a Row in an NAClass table.  An NALocationFeature has an associated shape, the type of which is defined by the feature class. The possible shape objects are Point, Polyline, and Polygon—these are all objects in the Geometry object model. See the discussion on the GeometryDef object for more details.

The INALocationObject interface can be used to retrieve the associated network location.

See Also:
Serialized Form

Constructor Summary
NALocationFeature()
          Constructs a NALocationFeature using ArcGIS Engine.
NALocationFeature(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 delete()
          Deletes the row.
 void deleteSet(ISet rows)
          Deletes the set of rows.
 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.
 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.
 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.
 IFeatureEdit2 getAsIFeatureEdit2()
          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.
 INALocationObject getAsINALocationObject()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IObject getAsIObject()
          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.
 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()
           
 IEnvelope getExtent()
          The extent of the feature.
 int getFeatureType()
          The type of the feature.
 IFields getFields()
          The fields Collection for this row buffer.
 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.
 INALocation getNALocation()
          The network analysis location.
 int getOID()
          The OID for the row.
 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.
 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 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 onDelete(IRowEventsOnDeleteEvent theEvent)
          An after event that is fired when a custom object is deleted.
 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 queryNALocation(INALocation location)
          Returns the network location.
 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 setInvalidAreaByRef(IInvalidArea invalidArea)
          The area to be drawn.
 void setNALocation(INALocation location)
          The network analysis location.
 void setShapeByRef(IGeometry shape)
          A reference to the default shape for the feature.
 void setSubtypeCode(int subtypeCode)
          The subtype for the row.
 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.
 ISet split(IGeometry point)
          Split the feature.
 void splitAttributes(IFeature baseFeature)
          Split the feature attributes.
 ISet splitWithUpdate(IGeometry geometry)
          Split the feature by updating the split feature and creating new feature(s) for the smaller portion.
 void store()
          Stores the row.
 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

NALocationFeature

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

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

NALocationFeature

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

Construct a NALocationFeature using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to NALocationFeature.
NALocationFeature theNALocationFeature = (NALocationFeature) 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()

getAsINALocationObject

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


getAsIRow

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


getAsIObject

public IObject getAsIObject()
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.


getAsIFeatureChanges

public IFeatureChanges getAsIFeatureChanges()
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.


getAsIFeatureEdit

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


getAsIFeatureEdit2

public IFeatureEdit2 getAsIFeatureEdit2()
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.


getAsIFeatureSimplify

public IFeatureSimplify getAsIFeatureSimplify()
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.


getAsIRelatedObjectEvents

public IRelatedObjectEvents getAsIRelatedObjectEvents()
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.


getAsIRowEdit

public IRowEdit getAsIRowEdit()
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.


getAsIValidate

public IValidate getAsIValidate()
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


setNALocation

public void setNALocation(INALocation location)
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: INALocationObject
The network analysis location.

Remarks

The NALocation property specifies the "SourceID", "SourceOID", "PosAlong", and "SideOfEdge" fields of the NALocationObject/NALocationFeature

You must still call Store on the IRow or IFeature interface after setting the NALocation property in order for these changes to be saved in the database.

Specified by:
setNALocation in interface INALocationObject
Parameters:
location - A reference to a com.esri.arcgis.networkanalyst.INALocation (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNALocation

public INALocation getNALocation()
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: INALocationObject
The network analysis location.

Remarks

The NALocation property specifies the "SourceID", "SourceOID", "PosAlong", and "SideOfEdge" fields of the NALocationObject/NALocationFeature

Specified by:
getNALocation in interface INALocationObject
Returns:
A reference to a com.esri.arcgis.networkanalyst.INALocation
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryNALocation

public void queryNALocation(INALocation location)
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: INALocationObject
Returns the network location.

Remarks

Calling QueryNALocation populates the NALocation object passed in as a parameter based on the values found in the "SourceID", "SourceOID", "PosAlong", and "SideOfEdge" fields of the NALocationObject/NALocationFeature

Use this method rather than using the NALocation property when you aren't referencing multiple network locations and can use recycling semantics.  This will improve overall performance since fewer objects will need to be created.

Specified by:
queryNALocation in interface INALocationObject
Parameters:
location - A reference to a com.esri.arcgis.networkanalyst.INALocation (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

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.

esri_getClass

public IObjectClass esri_getClass()
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: IObject
The Object Class for the row.

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

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:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getFeatureType

public int getFeatureType()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IFeature
The type of the feature.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFeatureType in interface IFeature
Returns:
A com.esri.arcgis.geodatabase.esriFeatureType constant
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isShapeChanged

public boolean isShapeChanged()
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IFeatureChanges
Indicates if the shape has changed.

Supported Platforms

Windows, Solaris, Linux

Remarks

IFeatureChanges::ShapeChanged can be used to determine if a feature's geometry has changed.  If the feature's geometry has been changed, but IRow::Store has not yet been called, ShapeChanged will return True.  Once Store is called, ShapeChanged will return False.  ShapeChanged can also be used in an event triggered by Store, such as IRowEvents::OnChanged.  When used in this manner, ShapeChanged will return True if the feature's shape has changed.  Once Store is complete, ShapeChanged will return false.

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

getOriginalShape

public IGeometry getOriginalShape()
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: IFeatureChanges
The original shape for the feature.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getOriginalShape in interface IFeatureChanges
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.

draw

public void draw(int drawPhase,
                 IDisplay display,
                 ISymbol symbol,
                 boolean symbolInstalled,
                 IGeometry geometry,
                 int drawStyle)
          throws java.io.IOException,
                 AutomationException
Description copied from interface: IFeatureDraw
Draws the feature on the display.

Supported Platforms

Windows, Solaris, Linux

Specified by:
draw in interface IFeatureDraw
Parameters:
drawPhase - A com.esri.arcgis.system.esriDrawPhase constant (in)
display - A reference to a com.esri.arcgis.display.IDisplay (in)
symbol - A reference to a com.esri.arcgis.display.ISymbol (in)
symbolInstalled - The symbolInstalled (in)
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
drawStyle - A com.esri.arcgis.geodatabase.esriDrawStyle constant (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setInvalidAreaByRef

public void setInvalidAreaByRef(IInvalidArea invalidArea)
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IFeatureDraw
The area to be drawn.

Specified by:
setInvalidAreaByRef in interface IFeatureDraw
Parameters:
invalidArea - A reference to a com.esri.arcgis.geodatabase.IInvalidArea (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInvalidArea

public IInvalidArea getInvalidArea()
                            throws java.io.IOException,
                                   AutomationException
Description copied from interface: IFeatureDraw
The area to be drawn.

Supported Platforms

Windows, Solaris, Linux

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

beginMoveSet

public IDisplayFeedback beginMoveSet(ISet features,
                                     IPoint start)
                              throws java.io.IOException,
                                     AutomationException
Description copied from interface: IFeatureEdit
Prepares the set of features for a move operation.

Supported Platforms

Windows, Solaris, Linux

Specified by:
beginMoveSet in interface IFeatureEdit
Parameters:
features - A reference to a com.esri.arcgis.system.ISet (in)
start - A reference to a com.esri.arcgis.geometry.IPoint (in)
Returns:
A reference to a com.esri.arcgis.display.IDisplayFeedback
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveSet

public void moveSet(ISet features,
                    ILine moveVector)
             throws java.io.IOException,
                    AutomationException
Description copied from interface: IFeatureEdit
Moves the set of features through a distance and direction specified by moveVector.

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:
moveSet in interface IFeatureEdit
Parameters:
features - A reference to a com.esri.arcgis.system.ISet (in)
moveVector - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rotateSet

public void rotateSet(ISet features,
                      IPoint origin,
                      double angle)
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IFeatureEdit
Rotates the set of features according to the specified origin and angle.

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:
rotateSet in interface IFeatureEdit
Parameters:
features - A reference to a com.esri.arcgis.system.ISet (in)
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
angle - The angle (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

split

public ISet split(IGeometry point)
           throws java.io.IOException,
                  AutomationException
Description copied from interface: IFeatureEdit
Split the feature.

Supported Platforms

Windows, Solaris, Linux

Remarks

Split divides polylines by points or polygons by polylines, other kinds of split geometries are not supported (see IGeometry::GeometryType property for an enumeration of geometry types).  The new features are automatically stored and the old features deleted.  When a feature is split, the feature is deleted and two new features are created.  The ObjectID of the deleted feature is not reused, the two new features will have new ObjectID values.  You can define a policy on how the other attribute values of the new features are populated; this can be done with ArcCatalog or by using the Domain and Attribute Rule objects.

It is not necessary to call SplitAttributes after calling Split, this is done automatically.

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:
split in interface IFeatureEdit
Parameters:
point - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.system.ISet
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

splitAttributes

public void splitAttributes(IFeature baseFeature)
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: IFeatureEdit
Split the feature attributes.

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:
splitAttributes in interface IFeatureEdit
Parameters:
baseFeature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteSet

public void deleteSet(ISet rows)
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IRowEdit
Deletes the set of rows.

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:
deleteSet in interface IRowEdit
Parameters:
rows - A reference to a com.esri.arcgis.system.ISet (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

splitWithUpdate

public ISet splitWithUpdate(IGeometry geometry)
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: IFeatureEdit2
Split the feature by updating the split feature and creating new feature(s) for the smaller portion.

Remarks

SplitWithUpdate divides polylines by points or polygons by polylines, other kinds of split geometries are not supported (see IGeometry::GeometryType property for an enumeration of geometry types). Unlike the IFeatureEdit::Split method, SplitWithUpdate does not delete the original feature and insert two new features. When a feature is split, its geometry is modified and a new feature, with a new ObjectID, is inserted comprised of the remaining geometry. The geometry of the original feature will be modified to represent the largest section of the split geometry. For example, if a polyline is split at 60% along its length, the original feature's geometry will be modified to represent the 60% section and a new feature will be created with a geometry representing the remaining 40%.

You can define a policy on how the other attribute values of the new features are populated; this can be done with ArcCatalog or by using the Domain and Attribute Rule objects.

It is not necessary to call SplitAttributes after calling Split, this is done automatically.

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:
splitWithUpdate in interface IFeatureEdit2
Parameters:
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.system.ISet
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

initShape

public void initShape(IFeatureEventsInitShapeEvent theEvent)
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IFeatureEvents
Initialize the shape.

Supported Platforms

Windows, Solaris, Linux

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

onSplit

public void onSplit(IFeatureEventsOnSplitEvent theEvent)
             throws java.io.IOException,
                    AutomationException
Description copied from interface: IFeatureEvents
An after event that is fired when a Feature is split, on the deleted input Feature.

Supported Platforms

Windows, Solaris, Linux

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

onMerge

public void onMerge(IFeatureEventsOnMergeEvent theEvent)
             throws java.io.IOException,
                    AutomationException
Description copied from interface: IFeatureEvents
An after event that is fired when Features have been merged, on each deleted input Feature.

Supported Platforms

Windows, Solaris, Linux

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

simplifyGeometry

public void simplifyGeometry(IGeometry pGeometry)
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IFeatureSimplify
Simplifies the input geometry using the rules appropriate for this feature.

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:
simplifyGeometry in interface IFeatureSimplify
Parameters:
pGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws java.io.IOException,
                                       AutomationException
Description copied from interface: ISupportErrorInfo

Supported Platforms

Windows, Solaris, Linux

Description

Indicates whether the interface supports IErrorInfo.

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

relatedObjectChanged

public void relatedObjectChanged(IRelationshipClass relationshipClass,
                                 IObject objectThatChanged)
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IRelatedObjectEvents
Notifies this object that a related object changed.

Supported Platforms

Windows, Solaris, Linux

Remarks

The RelatedObjectChanged method is called when a related object has changed.

Specified by:
relatedObjectChanged in interface IRelatedObjectEvents
Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
objectThatChanged - A reference to a com.esri.arcgis.geodatabase.IObject (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

relatedObjectMoved

public void relatedObjectMoved(IRelationshipClass relationshipClass,
                               IObject objectThatChanged,
                               ILine moveVector)
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: IRelatedObjectEvents
Notifies this object that a related object moved.

Supported Platforms

Windows, Solaris, Linux

Remarks

The RelatedObjectMoved method is called when a related object has moved.

Specified by:
relatedObjectMoved in interface IRelatedObjectEvents
Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
objectThatChanged - A reference to a com.esri.arcgis.geodatabase.IObject (in)
moveVector - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

relatedObjectSetMoved

public void relatedObjectSetMoved(IRelationshipClass relationshipClass,
                                  ISet objectsThatNeedToChange,
                                  ISet objectsThatChanged,
                                  ILine moveVector)
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: IRelatedObjectEvents
Notifies this object that a set of objects with relationships to the input set of objects moved.

Supported Platforms

Windows, Solaris, Linux

Remarks

The RelatedObjectSetMoved method is called when a set of objects in the related object class has moved. The objectsThatChanged argument represents the set of objects in the related object classes that have moved.

The objectsThatNeedToChange argument represents the set of objects in the object class of this object that are related to the objects that moved. This object is itself a member of the objectsThatNeedToChange.

Specified by:
relatedObjectSetMoved in interface IRelatedObjectEvents
Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
objectsThatNeedToChange - A reference to a com.esri.arcgis.system.ISet (in)
objectsThatChanged - A reference to a com.esri.arcgis.system.ISet (in)
moveVector - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

relatedObjectRotated

public void relatedObjectRotated(IRelationshipClass relationshipClass,
                                 IObject objectThatChanged,
                                 IPoint origin,
                                 double angle)
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IRelatedObjectEvents
Notifies this object that a related object rotated.

Supported Platforms

Windows, Solaris, Linux

Remarks

The RelatedObjectRotated method is called when a related object has rotated.

Specified by:
relatedObjectRotated in interface IRelatedObjectEvents
Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
objectThatChanged - A reference to a com.esri.arcgis.geodatabase.IObject (in)
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
angle - The angle (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

relatedObjectSetRotated

public void relatedObjectSetRotated(IRelationshipClass relationshipClass,
                                    ISet objectsThatNeedToChange,
                                    ISet objectsThatChanged,
                                    IPoint origin,
                                    double angle)
                             throws java.io.IOException,
                                    AutomationException
Description copied from interface: IRelatedObjectEvents
Notifies this object that a set of objects with relationships to the input set of objects rotated.

Supported Platforms

Windows, Solaris, Linux

Remarks

The RelatedObjectSetRotated method is called when a set of objects in the related object class has moved. Its arguments are similar to the arguments for RelatedObjectSetMoved.

Specified by:
relatedObjectSetRotated in interface IRelatedObjectEvents
Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
objectsThatNeedToChange - A reference to a com.esri.arcgis.system.ISet (in)
objectsThatChanged - A reference to a com.esri.arcgis.system.ISet (in)
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
angle - The angle (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

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.

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.

getInvalidFields

public IFields getInvalidFields()
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IValidate
Returns all invalid fields.

Supported Platforms

Windows, Solaris, Linux

Description

GetInvalidFields function returns a IFields object containing the invalid fields of the given Row object.

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

getInvalidRules

public IEnumRule getInvalidRules()
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IValidate
The set of all invalid rules.

Supported Platforms

Windows, Solaris, Linux

Description

GetInvalidRules function returns a IEnumRule object containing all of the invalid rules associated with the given row object.

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

getInvalidRulesByField

public IEnumRule getInvalidRulesByField(java.lang.String fieldName)
                                 throws java.io.IOException,
                                        AutomationException
Description copied from interface: IValidate
The set of all invalid rules for the specified field.

Supported Platforms

Windows, Solaris, Linux

Description

GetInvalidRulesByField function returns a IEnumRule object that contains all of the invalid rules associated with the FieldName parameter for the given row object.

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

validate

public boolean validate(java.lang.String[] errorMessage)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IValidate
Validates the row.

Supported Platforms

Windows, Solaris, Linux

Description

Validate function validates the given row and returns a boolean value of TRUE if the row is valid and FALSE if its not.

Remarks

Validate on a row occurs in five steps:

  1. Validate the subtype

  2. Validate the attribute rules

  3. Validate the network connectivity rules (if network feature)

  4. Validate the relationship rules

  5. Perform custom validation (using optional class extension)

The validate process stops once a row is found invalid. For example, if a network feature violates an attribute rule, the validation process stops and the feature's network connectivity rules are not evaluated until the attribute rule violation is corrected.

Specified by:
validate in interface IValidate
Parameters:
errorMessage - The errorMessage (out: use single element array)
Returns:
The isValid
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

project

public void project(ISpatialReference outputSR)
             throws java.io.IOException,
                    AutomationException
Description copied from interface: IFeatureProject
Project the feature geometry to the provided spatial reference.

Remarks

Projects the feature from the current spatial reference to the output spatial reference.

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