|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.interop.Dispatch com.esri.arcgis.geodatabase.IFeatureCursorProxy
public class IFeatureCursorProxy
Provides access to members that hand out enumerated features, field collections and allows for the updating, deleting and inserting of features.
The IFeatureCursor interface provides access to a set of features in a feature class. It operates in the same way as ICursor, although it does not inherit from that interface. This saves you from having to use Query-Interface when dealing with features rather than rows.
Feature cursors can be used as an input to IFeatureCursorBuffer, which lets you spatially buffer the features by a distance.
You can also draw the features from a cursor on the display. For more information, see the IFeatureRenderer::Draw method.
When using cursors within an edit session, they should always be scoped to edit operations. In other words, a cursor should be created after an edit operation has begun and should not be used once that edit operation has been stopped or aborted.
Field Summary | |
---|---|
boolean |
noncastable
|
Fields inherited from class com.esri.arcgis.interop.Dispatch |
---|
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, objRef |
Constructor Summary | |
---|---|
|
IFeatureCursorProxy()
|
|
IFeatureCursorProxy(Object obj)
|
protected |
IFeatureCursorProxy(Object obj,
String iid)
|
Method Summary | |
---|---|
void |
addListener(String iidStr,
Object theListener,
Object theSource)
|
void |
deleteFeature()
Delete the existing Feature in the database corresponding to the current position of the cursor. |
int |
findField(String name)
The index of the field with the specified name. |
void |
flush()
Flush any outstanding buffered writes to the database. |
IFields |
getFields()
The fields Collection for this cursor. |
Object |
insertFeature(IFeatureBuffer buffer)
Insert a new Feature into the database using the property values in the input buffer. |
IFeature |
nextFeature()
Advance the position of the cursor by one and return the Feature object at that position. |
void |
removeListener(String iidStr,
Object theListener)
|
void |
updateFeature(IFeature object)
Update the existing Feature in the database corresponding to the current position of the cursor. |
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, optimizedVtblInvoke, queryInterface, readExternal, release, setNativeMode, setPropertyByName, toString, vtblInvoke, writeExternal |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public boolean noncastable
Constructor Detail |
---|
public IFeatureCursorProxy()
public IFeatureCursorProxy(Object obj) throws IOException
IOException
protected IFeatureCursorProxy(Object obj, String iid) throws IOException
IOException
Method Detail |
---|
public void addListener(String iidStr, Object theListener, Object theSource) throws IOException
addListener
in class com.esri.arcgis.interop.Dispatch
IOException
public void removeListener(String iidStr, Object theListener) throws IOException
removeListener
in class com.esri.arcgis.interop.Dispatch
IOException
public int findField(String name) throws IOException, AutomationException
If the specified field cannot be found, this method returns a value of -1.
findField
in interface IFeatureCursor
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFields getFields() throws IOException, AutomationException
getFields
in interface IFeatureCursor
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeature nextFeature() throws IOException, AutomationException
If you fetch features out of a geodatabase using a cursor (recycling or non recycling), the spatial reference of the feature, as returned by NextFeature, is guaranteed to be in the spatial reference that you specified in the query filter .
No guarantee however is made that the geometry of the feature will continue to remain in this spatial reference. In particular, if you use a non recycling cursor, then the feature you fetch will be shared with other consumers and any one of these may change its spatial reference at any time. It is the developers responsibility to test the spatial reference or the geometry you get from the feature (via IFeature::Shape) if you retrieve the geometry at a later time and rely on its spatial reference being a specified spatial reference.
nextFeature
in interface IFeatureCursor
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void updateFeature(IFeature object) throws IOException, AutomationException
This method should only be called on update cursors.
updateFeature
in interface IFeatureCursor
object
- A reference to a com.esri.arcgis.geodatabase.IFeature (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deleteFeature() throws IOException, AutomationException
The cursor must be initialized to a feature (with the NextFeature() method) before this method can be successfully called.
This should only be called on update cursors. To delete a feature retrieved from a search cursor, call IFeature.Delete on the feature itself.
deleteFeature
in interface IFeatureCursor
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object insertFeature(IFeatureBuffer buffer) throws IOException, AutomationException
This method should only be called on insert cursors.
insertFeature
in interface IFeatureCursor
buffer
- A reference to a com.esri.arcgis.geodatabase.IFeatureBuffer (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void flush() throws IOException, AutomationException
This method should only be called on insert cursors.
flush
in interface IFeatureCursor
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |