com.esri.arcgis.geodatabase
Class IFeatureEditProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.geodatabase.IRowEditProxy
          extended by com.esri.arcgis.geodatabase.IFeatureEditProxy
All Implemented Interfaces:
IFeatureEdit, IRowEdit, Externalizable, Serializable

public class IFeatureEditProxy
extends IRowEditProxy
implements IFeatureEdit, Serializable

Provides access to members implemented to customize feature editing.

Superseded By

IFeatureEdit2

Remarks

The IFeatureEdit interface offers specialized editing facilities on features.

The MoveSet, RotateSet, and DeleteSet methods are unusual in that they are applied to a single feature, but they operate on a whole set. There is no need to call these methods for each separate feature in the set.

In the case of simple features, you need to call this method once for every feature class contained in the set. Thus, if the selection contains ten simple features, five from class A, and five from class B, you will need to call this method on one member of the set from class A, and one member of the set from class B. When you call these methods on a feature, the method will be applied to all other features contained in the set that are also in the same feature class.

In the case of network features, it is only necessary to call these methods on one network feature found in a given geometric network. Thus, if all of the network features found in the set are contained in a single geometric network, you will only need to call these methods on one network feature. However, if there are two (or more) geometric networks represented in the network features contained in the set, then the call will need to be made two (or more) times; once for each geometric network.

In practice, it is actually quite simple to implement the appropriate calling behavior because the set that is passed in as the first argument is winnowed (that is, features contained in the set that are processed are removed from the set) and the set is automatically reset. Thus, you can effectively Next through the set and achieve the proper behavior. See the first example for an illustation of this behavior.

Split and SplitAttributes operate on single features. Split will divide polylines by points, or polygons by polylines. Other kinds of split geometries are not supported. The new features are automatically stored and the old feature deleted. SplitAttributes implements the split policy for attributes belonging to domains. It is not necessary to call SplitAttributes after using Split, this is done automatically.

An equivalent method to Split for merging features is not currently available in ArcObjects; you have to program it the long way, using ITopologicalOperator::Union, IFeature::Delete, and, if necessary, IDomain::MergePolicy.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  IFeatureEditProxy()
           
  IFeatureEditProxy(Object obj)
           
protected IFeatureEditProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 IDisplayFeedback beginMoveSet(ISet features, IPoint start)
          Prepares the set of features for a move operation.
 void moveSet(ISet features, ILine moveVector)
          Moves the set of features through a distance and direction specified by moveVector.
 void readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 void rotateSet(ISet features, IPoint origin, double angle)
          Rotates the set of features according to the specified origin and angle.
 ISet split(IGeometry point)
          Split the feature.
 void splitAttributes(IFeature baseFeature)
          Split the feature attributes.
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class com.esri.arcgis.geodatabase.IRowEditProxy
deleteSet
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, queryInterface, release, setNativeMode, setPropertyByName, toString, vtblInvoke
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.geodatabase.IRowEdit
deleteSet
 

Constructor Detail

IFeatureEditProxy

public IFeatureEditProxy()

IFeatureEditProxy

public IFeatureEditProxy(Object obj)
                  throws IOException
Throws:
IOException

IFeatureEditProxy

protected IFeatureEditProxy(Object obj,
                            String iid)
                     throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class IRowEditProxy
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class IRowEditProxy
Throws:
IOException

beginMoveSet

public IDisplayFeedback beginMoveSet(ISet features,
                                     IPoint start)
                              throws IOException,
                                     AutomationException
Prepares the set of features for a move operation.

Product Availability

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

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

moveSet

public void moveSet(ISet features,
                    ILine moveVector)
             throws IOException,
                    AutomationException
Moves the set of features through a distance and direction specified by moveVector.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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:
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 IOException,
                      AutomationException
Rotates the set of features according to the specified origin and angle.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

split

public ISet split(IGeometry point)
           throws IOException,
                  AutomationException
Split the feature.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

splitAttributes

public void splitAttributes(IFeature baseFeature)
                     throws IOException,
                            AutomationException
Split the feature attributes.

Remarks

This method is intended for internal use only.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

writeExternal

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

readExternal

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