|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.esri.arcgis.geodatabase.XYEventSource
XY event source object.
A table that contains a field with X coordinates and a field with Y coordinates can be used to dynamically create a point feature class. The feature class is dynamic in that the shapes are generated as needed from data in a source table rather than accessed from a physical data source. The source table that contains the coordinates is called the XY event table.
The XYEventSource class generates a dynamic featureclass from an XY event table. A point, based on the coordinates in the fields specified by XYEvent2FieldsProperties, is created for each row in the XY event table.
In order to create an XYEventSource, you must first create an XYEventSourceName. Since XYEventSource inherits from FeatureClass, it implements the same interfaces and can be treated like any other point feature class. It can be added to ArcMap as a point feature layer and even edited directly with the editor.
There may be some limitations imposed by the XY event table, however. For example, you will not be able to directly edit a feature class created from a delimited text file table since the editor doesn't allow text files to be edited directly. Also, you cannot add or move points using the tools in the editor toolbar. To add or move points, you must edit the coordinates or add new records to the table.
IXYEventSourceName,
IXYEvent2FieldsProperties,
Serialized Form| Constructor Summary | |
XYEventSource(java.lang.Object obj)
Construct a XYEventSource using a reference to such an object returned from ArcGIS Engine or Server. |
|
| Method Summary | |
void |
addField(IField field)
Adds a field to this object class. |
void |
addIndex(IIndex index)
Adds an index to this object class. |
void |
addIObjectClassEventsListener(IObjectClassEvents theListener)
|
void |
addIObjectClassSchemaEventsListener(IObjectClassSchemaEvents theListener)
|
void |
addSubtype(int subtypeCode,
java.lang.String subtypeName)
Adds the subtype to the set of associated subtypes. |
boolean |
canBypassEditSession()
Indicates if updates to objects can be safely made outside of an edit session. |
boolean |
canBypassStoreMethod()
Indicates if updates to objects can bypass the Store method and OnChange notifications for efficiency. |
boolean |
canCopy()
True if this dataset can be copied. |
boolean |
canDelete()
True if this dataset can be deleted. |
boolean |
canRename()
True if this dataset can be renamed. |
IDataset |
copy(java.lang.String copyName,
IWorkspace copyWorkspace)
Copies this dataset to a new dataset with the specified name. |
IFeature |
createFeature()
Create a new feature, with a system assigned object ID and null property values. |
IFeatureBuffer |
createFeatureBuffer()
Create a feature buffer that can be used with an insert cursor. |
IRow |
createRow()
Creates a row in the database with a system assigned object ID and null property values. |
IRowBuffer |
createRowBuffer()
Creates a row buffer that can be used with an insert cursor. |
void |
delete()
Deletes this dataset. |
void |
deleteField(IField field)
Deletes a field from this object class. |
void |
deleteIndex(IIndex index)
Deletes an index from this object class. |
void |
deleteSearchedRows(IQueryFilter queryFilter)
Delete the Rows in the database selected by the specified query. |
void |
deleteSubtype(int subtypeCode)
Deletes the subtype from the set of associated subtypes. |
boolean |
equals(java.lang.Object o)
Compare this object with another |
int |
featureCount(IQueryFilter queryFilter)
The number of features selected by the specified query. |
int |
findField(java.lang.String name)
The index of the field with the specified name. |
java.lang.String |
getAliasName()
The alias name of the object class. |
IField |
getAreaField()
The geometry area field. |
IClass |
getAsIClass()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
IDataset |
getAsIDataset()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
IDatasetEdit |
getAsIDatasetEdit()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
IDatasetEditInfo |
getAsIDatasetEditInfo()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
IEventSource |
getAsIEventSource()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
IFeatureClass |
getAsIFeatureClass()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
IGeoDataset |
getAsIGeoDataset()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
IObjectClass |
getAsIObjectClass()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
IObjectClassInfo |
getAsIObjectClassInfo()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
IObjectClassInfo2 |
getAsIObjectClassInfo2()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
ISubtypes |
getAsISubtypes()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
ITable |
getAsITable()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
ITableCapabilities |
getAsITableCapabilities()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
IVirtualTable |
getAsIVirtualTable()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
IXYEventSource |
getAsIXYEventSource()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
java.lang.String |
getBrowseName()
The browse name of the dataset. |
java.lang.String |
getCategory()
The category of the dataset. |
IUID |
getCLSID()
The GUID for the COM Class (CoClass) corresponding to instances of this object class. |
int |
getDefaultSubtypeCode()
The default subtype associated with the class. |
java.lang.Object |
getDefaultValue(int subtypeCode,
java.lang.String fieldName)
The default value for the associated attribute. |
IDomain |
getDomain(int subtypeCode,
java.lang.String fieldName)
The domain given the subtype and field. |
IXYEventProperties |
getEventProperties()
Property object used to define the X, Y and Z location fields. |
ITable |
getEventTable()
Table used to initialize the XYEventSource. |
IUID |
getEXTCLSID()
The GUID for the COM Class (CoClass) corresponding to the class extension for this object class. |
java.lang.Object |
getExtension()
The extension for this object class. |
IPropertySet |
getExtensionProperties()
The extension properties for this object class. |
IEnvelope |
getExtent()
The extent of the GeoDataset. |
IFeature |
getFeature(int iD)
Get the feature with the specified object ID. |
int |
getFeatureClassID()
The unique ID for the Feature Class. |
IFeatureDataset |
getFeatureDataset()
The feature dataset that contains the feature class. |
IFeatureCursor |
getFeatures(java.lang.Object fids,
boolean recycling)
Get a cursor of Rows given a set of object ids. |
int |
getFeatureType()
The type of features in this feature class. |
IFields |
getFields()
The fields collection for this object class. |
IName |
getFullName()
The associated name object. |
IIndexes |
getIndexes()
The indexes collection for this object class. |
IField |
getLengthField()
The geometry length field. |
java.lang.String |
getName()
The name of the Dataset. |
int |
getObjectClassID()
The unique ID for the object class. |
java.lang.String |
getOIDFieldName()
The name of the field corresponding to the OID. |
IPropertySet |
getPropertySet()
The set of properties for the dataset. |
IEnumRelationshipClass |
getRelationshipClasses(int role)
The relationship classes in which this object class participates in for the specified role. |
IRow |
getRow(int oID)
The row from the database with the specified object ID. |
ICursor |
getRows(java.lang.Object oids,
boolean recycling)
The cursor of rows based on a set of object ids. |
java.lang.String |
getShapeFieldName()
The name of the default sShape field. |
int |
getShapeType()
The type of the default Shape for the features in this feature class. |
ISpatialReference |
getSpatialReference()
The spatial reference of the GeoDataset. |
IEnumDataset |
getSubsets()
Datasets contained within this dataset. |
int |
getSubtypeFieldIndex()
The subtype field index. |
java.lang.String |
getSubtypeFieldName()
The subtype field name. |
java.lang.String |
getSubtypeName(int subtypeCode)
The subtype name. |
IEnumSubtype |
getSubtypes()
The subtypes associated with the class. |
int |
getType()
The type of the Dataset. |
IWorkspace |
getWorkspace()
The workspace containing this dataset. |
int |
hashCode()
the hashcode for this object |
IFeatureCursor |
IFeatureClass_insert(boolean useBuffering)
Returns a cursor that can be used to insert new features. |
IFeatureCursor |
IFeatureClass_update(IQueryFilter filter,
boolean recycling)
Returns a cursor that can be used to update features selected by the specified query. |
ICursor |
insert(boolean useBuffering)
Returns a cursor that can be used to insert new Rows. |
boolean |
isBeingEdited()
True if the dataset is being edited. |
boolean |
isCanEdit()
True if the dataset supports edit sessions with the ability to discard edits on save. |
boolean |
isCanRedo()
True if the dataset supports edit sessions with the ability to redo undone operations. |
boolean |
isCanSelect()
Indicates if the table supports selection. |
boolean |
isCanUndo()
True if the dataset supports edit sessions with the ability to undo individual edit operations. |
boolean |
isHasOID()
Indicates if the class has an object identity (OID) field. |
boolean |
isHasSubtype()
Indicates if the table has subtypes. |
ICursor |
ITable_search(IQueryFilter queryFilter,
boolean recycling)
An object cursor that can be used to fetch row objects selected by the specified query. |
void |
refreshExtent()
Resets the extent of the XYEventSource layer. |
void |
removeIObjectClassEventsListener(IObjectClassEvents theListener)
|
void |
removeIObjectClassSchemaEventsListener(IObjectClassSchemaEvents theListener)
|
void |
rename(java.lang.String name)
Renames this Dataset. |
int |
rowCount(IQueryFilter queryFilter)
The number of Rows selected by the specified query. |
IFeatureCursor |
search(IQueryFilter filter,
boolean recycling)
Returns an object cursor that can be used to fetch feature objects selected by the specified query. |
ISelectionSet |
select(IQueryFilter queryFilter,
int selType,
int selOption,
IWorkspace selectionContainer)
A selection that contains the object ids selected by the specified query. |
void |
setBrowseName(java.lang.String name)
The browse name of the dataset. |
void |
setDefaultSubtypeCode(int subtypeCode)
The default subtype associated with the class. |
void |
setDefaultValue(int subtypeCode,
java.lang.String fieldName,
java.lang.Object value)
The default value for the associated attribute. |
void |
setDomainByRef(int subtypeCode,
java.lang.String fieldName,
IDomain domain)
The domain given the subtype and field. |
void |
setSubtypeFieldName(java.lang.String fieldName)
The subtype field name. |
ICursor |
update(IQueryFilter queryFilter,
boolean recycling)
Returns a cursor that can be used to update Rows selected by the specified query. |
void |
updateSearchedRows(IQueryFilter queryFilter,
IRowBuffer buffer)
Update the Rows in the database selected by the specified query. |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public XYEventSource(java.lang.Object obj)
throws java.io.IOException
obj to XYEventSource. *
XYEventSource o = (XYEventSource)obj; // will not work
XYEventSource o = new XYEventSource(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server
XYEventSource theXYEventSource = (XYEventSource) obj;
java.io.IOException - if there are interop problems| Method Detail |
public IDataset getAsIDataset()
public IDatasetEdit getAsIDatasetEdit()
public IDatasetEditInfo getAsIDatasetEditInfo()
public IClass getAsIClass()
public ITable getAsITable()
public ITableCapabilities getAsITableCapabilities()
public IObjectClass getAsIObjectClass()
public ISubtypes getAsISubtypes()
public IObjectClassInfo getAsIObjectClassInfo()
public IObjectClassInfo2 getAsIObjectClassInfo2()
public IFeatureClass getAsIFeatureClass()
public IGeoDataset getAsIGeoDataset()
public IEventSource getAsIEventSource()
public IXYEventSource getAsIXYEventSource()
public IVirtualTable getAsIVirtualTable()
public boolean equals(java.lang.Object o)
public int hashCode()
public void addIObjectClassEventsListener(IObjectClassEvents theListener)
throws java.io.IOException
java.io.IOException
public void removeIObjectClassEventsListener(IObjectClassEvents theListener)
throws java.io.IOException
java.io.IOException
public void addIObjectClassSchemaEventsListener(IObjectClassSchemaEvents theListener)
throws java.io.IOException
java.io.IOException
public void removeIObjectClassSchemaEventsListener(IObjectClassSchemaEvents theListener)
throws java.io.IOException
java.io.IOException
public java.lang.String getName()
throws java.io.IOException,
AutomationException
IDataset
getName in interface IDatasetAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public IName getFullName()
throws java.io.IOException,
AutomationException
IDataset
getFullName in interface IDatasetAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public java.lang.String getBrowseName()
throws java.io.IOException,
AutomationException
IDataset
getBrowseName in interface IDatasetjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setBrowseName(java.lang.String name)
throws java.io.IOException,
AutomationException
IDataset
setBrowseName in interface IDatasetname - The name (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public int getType()
throws java.io.IOException,
AutomationException
IDataset
getType in interface IDatasetAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public java.lang.String getCategory()
throws java.io.IOException,
AutomationException
IDatasetIDataset::Category returns a description of the category of the dataset. The description returned from the Category property is the same value that is displayed in the Type column within the Contents tab in ArcCatalog. The value will contain a description of the dataset such as "Topology" prefixed with a description of the type of workspace containing the dataset such as "File Geodatabase".
The description returned from IDataset::Category may change between releases of ArcGIS.
getCategory in interface IDatasetAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public IEnumDataset getSubsets()
throws java.io.IOException,
AutomationException
IDatasetThe Subsets property returns other Dataset objects contained in this dataset.
IDataset::Subsets is not supported for Graph objects such as a Geometric Network. To return the feature classes contained in a Geometric Network, use the IFeatureClassContainer interface.
getSubsets in interface IDatasetAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public IWorkspace getWorkspace()
throws java.io.IOException,
AutomationException
IDatasetThe Workspace property returns the containing workspace for this dataset.
getWorkspace in interface IDatasetjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IPropertySet getPropertySet()
throws java.io.IOException,
AutomationException
IDatasetThe PropertySet property is used to return any additional intrinsic properties (but not metadata properties) that may apply to the dataset. One use of this property is to distinguish between the types of File Geodatabase datafile formats. If called on a Feature Class or Table in a File Geodatabase the Datafile Format property can either be esriFGDBStandardDatafile or esriFGDBCompressedDatafile.
Examples of intrinsic properties for which explicit methods exist include the SpatialReference and the Extent methods available on the IGeoDataset interface. In most cases this PropertySet will be empty.
IDataset::PropertySet is not supported for Graph objects such as a Geometric Network.
getPropertySet in interface IDatasetAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public boolean canCopy()
throws java.io.IOException,
AutomationException
IDatasetThe CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.
The CanCopy method is supported by:
canCopy in interface IDatasetAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public IDataset copy(java.lang.String copyName,
IWorkspace copyWorkspace)
throws java.io.IOException,
AutomationException
IDatasetIDataset::Copy does not support the copying of Graph objects such as a Geometric Network.
copy in interface IDatasetcopyName - The copyName (in)copyWorkspace - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.GeoDBDataTransfer
public boolean canDelete()
throws java.io.IOException,
AutomationException
IDatasetThe CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.
canDelete in interface IDatasetjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void delete()
throws java.io.IOException,
AutomationException
IDatasetCertain feature classes, such as network and topology feature classes, cannot be deleted until their containing objects are deleted.
delete in interface IDatasetAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public boolean canRename()
throws java.io.IOException,
AutomationException
IDatasetThe CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete or rename a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.
canRename in interface IDatasetjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void rename(java.lang.String name)
throws java.io.IOException,
AutomationException
IDatasetIDataset::Rename does not support the renaming of Graph objects such as a Geometric Network. In addition, certain feature classes, such as network feature classes, cannot be renamed.
rename in interface IDatasetname - The name (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isBeingEdited()
throws java.io.IOException,
AutomationException
IDatasetEdit
isBeingEdited in interface IDatasetEditjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isCanEdit()
throws java.io.IOException,
AutomationException
IDatasetEditInfo
This property is to be used within an active edit session, results cannot be guaranteed if called on a dataset outside of an edit session.
isCanEdit in interface IDatasetEditInfojava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isCanUndo()
throws java.io.IOException,
AutomationException
IDatasetEditInfo
isCanUndo in interface IDatasetEditInfojava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isCanRedo()
throws java.io.IOException,
AutomationException
IDatasetEditInfo
isCanRedo in interface IDatasetEditInfoAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public int findField(java.lang.String name)
throws java.io.IOException,
AutomationException
IClassIf FindField returns -1, the Field could not be found in the Fields collection.
findField in interface IClassname - The name (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public IFields getFields()
throws java.io.IOException,
AutomationException
IClass
getFields in interface IClassAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public IIndexes getIndexes()
throws java.io.IOException,
AutomationException
IClass
getIndexes in interface IClassjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void addField(IField field)
throws java.io.IOException,
AutomationException
IClass
addField in interface IClassfield - A reference to a com.esri.arcgis.geodatabase.IField (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void deleteField(IField field)
throws java.io.IOException,
AutomationException
IClassDeleteField removes the specified field from a table, object class or feature class. Fields that are required by the Geodatabase and cannot be removed include:
deleteField in interface IClassfield - A reference to a com.esri.arcgis.geodatabase.IField (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void addIndex(IIndex index)
throws java.io.IOException,
AutomationException
IClass
addIndex in interface IClassindex - A reference to a com.esri.arcgis.geodatabase.IIndex (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void deleteIndex(IIndex index)
throws java.io.IOException,
AutomationException
IClass
deleteIndex in interface IClassindex - A reference to a com.esri.arcgis.geodatabase.IIndex (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isHasOID()
throws java.io.IOException,
AutomationException
IClass
isHasOID in interface IClassjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public java.lang.String getOIDFieldName()
throws java.io.IOException,
AutomationException
IClass
getOIDFieldName in interface IClassAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public IUID getCLSID()
throws java.io.IOException,
AutomationException
IClass
getCLSID in interface IClassjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IUID getEXTCLSID()
throws java.io.IOException,
AutomationException
IClass
getEXTCLSID in interface IClassAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public java.lang.Object getExtension()
throws java.io.IOException,
AutomationException
IClass
getExtension in interface IClassjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IPropertySet getExtensionProperties()
throws java.io.IOException,
AutomationException
IClass
getExtensionProperties in interface IClassAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public IRow createRow()
throws java.io.IOException,
AutomationException
ITableThe CreateRow method creates a new row in the underlying database with a system assigned object id value. A row object representing the created row is returned to the caller. The row object returned has the system assigned object ID as the value of the OIDField. All other fields are initialized to null values if they can be made null and to built-in default values appropriate to the type of the field if they cannot be made null.
The caller is responsible for setting the desired field values into the row and calling the Store method on the row. If the table represents an object class with subtypes, then it is the caller’s responsibility to set the default subtype code into the row and call the InitDefaultValues method on the row before storing, if that is the desired result. For tables without object behavior, insert cursors offer a more efficient way for inserting new rows.
createRow in interface ITablejava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IRow getRow(int oID)
throws java.io.IOException,
AutomationException
ITableThe GetRow method returns an existing row object, given its object ID value. The caller can query the returned row object for additional object specific interfaces. The retrieved row may be modified; calling Store on the row object after changing it will trigger messages to related objects and will mark the row for committing to the database.
getRow in interface ITableoID - The oID (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public ICursor getRows(java.lang.Object oids,
boolean recycling)
throws java.io.IOException,
AutomationException
ITableThe GetRows method returns a cursor that may be used to retrieve a set of rows specified by the input array of object id values. See the description of the Search method to understand the meaning of the recycling parameter. It is far more efficient to retrieve a set of rows using the GetRows method than it is to retrieve each individual row using the GetRow method. The retrieved rows may be modified; Store should be called on the row objects after changing them.
getRows in interface ITableoids - A Variant (in)recycling - The recycling (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public IRowBuffer createRowBuffer()
throws java.io.IOException,
AutomationException
ITableThe CreateRowBuffer method creates a new row buffer object in memory and returns it to the caller. No row is created in the database. The returned row buffer does not have an object ID value. The caller can set values into the row buffer and use it as an argument to the InsertRow method on an insert cursor; the latter is obtained by calling the Insert method on the Table.
createRowBuffer in interface ITableAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public void updateSearchedRows(IQueryFilter queryFilter,
IRowBuffer buffer)
throws java.io.IOException,
AutomationException
ITableAll edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.
updateSearchedRows in interface ITablequeryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)buffer - A reference to a com.esri.arcgis.geodatabase.IRowBuffer (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public void deleteSearchedRows(IQueryFilter queryFilter)
throws java.io.IOException,
AutomationException
ITable
deleteSearchedRows in interface ITablequeryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public int rowCount(IQueryFilter queryFilter)
throws java.io.IOException,
AutomationException
ITable
rowCount in interface ITablequeryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public ICursor ITable_search(IQueryFilter queryFilter,
boolean recycling)
throws java.io.IOException,
AutomationException
ITable
ITable_search in interface ITablequeryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)recycling - The recycling (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public ICursor update(IQueryFilter queryFilter,
boolean recycling)
throws java.io.IOException,
AutomationException
ITableThe Update method returns an ‘update’ cursor that can be used to update or delete rows. It offers somewhat faster performance than multiple calls to Store or Delete on row objects fetched using a non-recycling search cursor for tables storing simple rows and simple features. There is no difference in performance for custom features.
All edits to features that participate in a Topology or Geometric Network must be bracketed within an edit operation.
update in interface ITablequeryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)recycling - The recycling (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public ICursor insert(boolean useBuffering)
throws java.io.IOException,
AutomationException
ITableThe Insert method returns an ‘insert’ cursor that can be used to bulk insert rows. It offers significantly faster performance than multiple calls to CreateRow and Store for tables storing simple rows and simple features (that is, for tables whose CLSID is esriGeoDatabase.Row, esriGeoDatabase.Object, or esriGeoDatabase.Feature).
Insert cursors on tables containing custom rows and objects use the CreateRow and Store methods to achieve polymorphism, and there is no difference in performance in these cases.
insert in interface ITableuseBuffering - The useBuffering (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public ISelectionSet select(IQueryFilter queryFilter,
int selType,
int selOption,
IWorkspace selectionContainer)
throws java.io.IOException,
AutomationException
ITableThe Select method returns a selection set that holds either row ids or row objects from the Table depending on the selection option. Multiple selection sets can be created on the same table. It is up to a client application or object to keep a reference on created selections and use them as appropriate. For example, a FeatureLayer creates and uses selections on a FeatureClass (a type of Table).
When calling Select the selectionContainer parameter is no longer required. Null (C#, VB.Net) or Nothing (VB6) should be supplied it its place.
select in interface ITablequeryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)selType - A com.esri.arcgis.geodatabase.esriSelectionType constant (in)selOption - A com.esri.arcgis.geodatabase.esriSelectionOption constant (in)selectionContainer - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isCanSelect()
throws java.io.IOException,
AutomationException
ITableCapabilitiesUse CanSelect to determine if you can open a selection set on the table. A situation where CanSelect will be False is a standalone database table without an OID column.
isCanSelect in interface ITableCapabilitiesjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public int getObjectClassID()
throws java.io.IOException,
AutomationException
IObjectClassReturns the unique ID of the object class.
Each feature class or table registered with the geodatabase is an object class. Object classes have a unique ID which distinguishes them from other object classes in the geodatabase. The ObjectClassID property returns this ID as a long. The object class ID is assigned by the system when the class is created, or registered with the geodatabase, it cannot be modified.
Those feature classes and tables that are in the database, but not registered with the geodatabase will always have an object class ID of -1.
getObjectClassID in interface IObjectClassAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public IEnumRelationshipClass getRelationshipClasses(int role)
throws java.io.IOException,
AutomationException
IObjectClassReturns an enumeration of the relationship classes in which the object class participates.
Object classes in a geodatabase may participate in any number of relationships classes. The RelationshipClasses property allows you to get a list of those relationship classes that the object class participates in by what role it plays (origin, destination, or either) defined by the esriRelRole enumeration used when you call this property. This property returns a IEnumRelationshipClass interface which you can use to loop through those relationship classes that are returned.
getRelationshipClasses in interface IObjectClassrole - A com.esri.arcgis.geodatabase.esriRelRole constant (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.IEnumRelationshipClass,
esriRelRole
public java.lang.String getAliasName()
throws java.io.IOException,
AutomationException
IObjectClassReturns the alias name for the object class.
Object classes in a geodatabase can have between one and three names. The name of the object class, which is the same as the name of the table in the DBMS in which the objects in the object class are stored, the alias name which the user can set for display purposes in end user applications. The third name is the model name which is a tool for developers of custom objects to use to guarantee the names of objects independent of the true name or alias name.
The AliasName property returns the alias name for the object class. If the object class has no alias name, then AliasName will return the name of the object class (fully qualified if on ArcSDE). The alias name can be modified using the IClassSchemEdit interface.
getAliasName in interface IObjectClassAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.IModelInfo
public boolean isHasSubtype()
throws java.io.IOException,
AutomationException
ISubtypesHasSubtype property returns a boolean value whether the given object class has subypes or not.
This property returns a boolean value indicating if the object class has subtypes defined. If there are no subtypes defined, it returns FALSE , if there are subypes defined it returns TRUE.
isHasSubtype in interface ISubtypesAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public int getDefaultSubtypeCode()
throws java.io.IOException,
AutomationException
ISubtypesDefaultSubtypeCode property sets and returns the default subtype code for the given object class.
This property sets or returns the value of the default subtype code for the associated class.
getDefaultSubtypeCode in interface ISubtypesAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public void setDefaultSubtypeCode(int subtypeCode)
throws java.io.IOException,
AutomationException
ISubtypesDefaultSubtypeCode property sets the default subtype code for the given object class.
setDefaultSubtypeCode in interface ISubtypessubtypeCode - The subtypeCode (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public java.lang.Object getDefaultValue(int subtypeCode,
java.lang.String fieldName)
throws java.io.IOException,
AutomationException
ISubtypesDefaultValue property returns the default value for the given subtype.
This property return the default value for a particular field associated with a subtype. It requires the subtype code as a Long and the field name as a String . You can use the IField::Type property to determine the type of field that you are passing into the function so you will know what data type is being returned.
getDefaultValue in interface ISubtypessubtypeCode - The subtypeCode (in)fieldName - The fieldName (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public void setDefaultValue(int subtypeCode,
java.lang.String fieldName,
java.lang.Object value)
throws java.io.IOException,
AutomationException
ISubtypesDefaultValue property sets the default value for the given subtype.
This property sets the default value for a particlar field associated with a subtype. It requires the subtype code as a Long and the field name as a String.
setDefaultValue in interface ISubtypessubtypeCode - The subtypeCode (in)fieldName - The fieldName (in)value - A Variant (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public IDomain getDomain(int subtypeCode,
java.lang.String fieldName)
throws java.io.IOException,
AutomationException
ISubtypesThe Domain property returns or sets the domain given the subtype code and the fieldname of the subtype.
This property returns or sets an IDomain object associated with a particular subtype code and field. The subtype code is required as a Long and field name as a String.
getDomain in interface ISubtypessubtypeCode - The subtypeCode (in)fieldName - The fieldName (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public void setDomainByRef(int subtypeCode,
java.lang.String fieldName,
IDomain domain)
throws java.io.IOException,
AutomationException
ISubtypes
setDomainByRef in interface ISubtypessubtypeCode - The subtypeCode (in)fieldName - The fieldName (in)domain - A reference to a com.esri.arcgis.geodatabase.IDomain (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public java.lang.String getSubtypeFieldName()
throws java.io.IOException,
AutomationException
ISubtypesThe SubtypeFieldName property is used to either set or return string value for the field that contains the subtypes for this object class. To assign the subtype field, set SubtypeFieldName equal to the name of the field:
getSubtypeFieldName in interface ISubtypesAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public void setSubtypeFieldName(java.lang.String fieldName)
throws java.io.IOException,
AutomationException
ISubtypes
setSubtypeFieldName in interface ISubtypesfieldName - The fieldName (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public int getSubtypeFieldIndex()
throws java.io.IOException,
AutomationException
ISubtypesSubtypeFieldIndex property returns the index of the subtype field.
This property returns the index of the field in the object class which stores the subtype codes. The field index is returned as a Long.
getSubtypeFieldIndex in interface ISubtypesAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public java.lang.String getSubtypeName(int subtypeCode)
throws java.io.IOException,
AutomationException
ISubtypesSubtypeName property returns the subtype name for the subtype referred to by the parameter subtypecode.
This property returns the name of a subtype for a given subtype code for the associated object class. The subtype code is required as a Long and returns the name of the subtype as a String.
getSubtypeName in interface ISubtypessubtypeCode - The subtypeCode (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public IEnumSubtype getSubtypes()
throws java.io.IOException,
AutomationException
ISubtypesSubtypes returns a IEnumSubtype populated with all of the subtypes for the given object class.
Every ObjectClass has a default subtype code. If the user has not explicitly specified a default subtype or a subtype field, then DefaultSubtypeCode will return a subtype code of zero. Additionally, you can query the HasSubtype property; a value of False indicates an absence of a default subtype code, True indicates the presence of a default subtype code.
If the client instead asks for the enumeration of subtypes associated with an ObjectClass and no subtype has been previously added to the ObjectClass, then the enumerator will contain a single entry with a code of zero. The subtype field index value will be –1 if a default subtype has not been previously specified. Subtypes may only be short or long integers (esriFieldTypeSmallInteger or esriFieldTypeInteger). When setting the default subtype code, if one already exists, then it will be deleted. A subtype field must have been specified prior to setting the subtype code value.
Every type of field, except for esriFieldTypeShape, may have a default value. When setting the default value (which my be assigned on a subtype basis), it will be checked against the field’s associated Domain (if one exists) for validity.
This property returns all of the subtypes for the associated object class. Subtypes returns an IEnumSubtype enumeration which you can loop through to get all of the subtypes.
getSubtypes in interface ISubtypesjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void addSubtype(int subtypeCode,
java.lang.String subtypeName)
throws java.io.IOException,
AutomationException
ISubtypesAddSubtype adds the subtype to the set of subtypes for the given object class with the subtype code and subtype name given.
AddSubtype will create a new subtype for the associated object class. This method requires a subtype code as a Long and a subtype name as a String. Before adding subtypes, use the ISubtypes::SubtypeFieldName property to set the subtypes field.
Once created, you can use the ISubtypes::DefaultValue property to set default values for this subtypes fields, and the ISubtypes::Domain property to assign domains to fields for the subtype.
addSubtype in interface ISubtypessubtypeCode - The subtypeCode (in)subtypeName - The subtypeName (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public void deleteSubtype(int subtypeCode)
throws java.io.IOException,
AutomationException
ISubtypesDeleteSubtype takes the subtype code parameter to remove the subtype from the set of subtypes of the given object class.
DeleteSubtype will delete a subtype for the associated object class. Calling DeleteSubtype will also remove any reference to that subtype in the geodatabase.
deleteSubtype in interface ISubtypessubtypeCode - The subtypeCode (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean canBypassStoreMethod()
throws java.io.IOException,
AutomationException
IObjectClassInfoCanBypassStore is a convenience method that returns True if the instances of this object class have no custom behavior associated with creating or updating objects and if the object class does not participate in composite relationship classes or in relationship classes that require object notification. A return value of True implies that insert cursors handed out by the geodatabase will internally bypass the CreateRow and Store mechanisms when creating objects. A return value of False indicates that insert cursors will not bypass custom Store or OnChanged behavior implemented by the custom row object for this class.
By default, this method returns False for custom object classes. The developer of a custom object class can change this behavior by implementing this interface on the class extension associated with the class and returning True for the method.
In addition, a developer can implement this interface on the class extension of a simple class and set this property to False . Doing this will ensure that when features in the class are inserted, updated or deleted by editor tools that use insert and update cursors, such as Planarize, Create Features and the Object Loader do not bypass Store or OnChanged behavior. By default, this property for a simple class is logically True, meaning these tools will not broacast Geodatabase events which in turn are not rebroadcast as editor events (for which a custom editor application may be listening). Set this to False for those classes for which you always want to have these events broadcast. Alternatively, this can be set globally for the entire edit session using the IWorkspaceEditControl interface.
canBypassStoreMethod in interface IObjectClassInfoAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public boolean canBypassEditSession()
throws java.io.IOException,
AutomationException
IObjectClassInfo2CanBypassEditSession is a convenience method that returns True if the instances of this object class may be created or updated outside of a Geodatabase edit session (an edit session is started by using the StartEditing method on the IWorkspaceEdit or the StartMultiuserEditing method on the IMultiuserWorkspaceEdit interface).
If True , then applications may update the data in this object class using any of the data updating interfaces and methods described here without starting an edit session. In this case applications are responsible for starting host database transactions as appropriate and for discarding cached object states across transaction boundaries when running on an ArcSDE database.
If False, then applications should always make modifications to the data in this object class within an edit session for correct multi-user behavior and for correct management of database state internally cached by the Geodatabase for the objects in this object class.
This method returns False for network feature classes. By default, this method returns True for non-network custom object classes. The developer of a non-network custom object class can change this behavior by implementing this interface on the class extension associated with the class and returning true for the method.
canBypassEditSession in interface IObjectClassInfo2AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public int getShapeType()
throws java.io.IOException,
AutomationException
IFeatureClassShapeType returns the basic type of geometry of a shape. For the purposes of using the ShapeType property in deciding how to render/symbolize a layer, only esriGeometryPolyline, esriGeometryPolygon, esriGeometryPoint, esriGeometryMulitpoint, and esriGeometryMultipatch need to be checked. All the other types will report as being one of these five types. The reason is that esriGeometryBezier3Curve or esriGeometryPath, etc. can be segments or parts of another shape.
getShapeType in interface IFeatureClassjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public int getFeatureType()
throws java.io.IOException,
AutomationException
IFeatureClassThis read-only property returns the feature type for the feature class. This feature type can be one of the following esriFeatureType. This property can be used to determine if a feature class is of a particular type, in order for the feature class to added to a network or topology, or possibly to skip over the feature class in an enumeration.
getFeatureType in interface IFeatureClassAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.esriFeatureType
public java.lang.String getShapeFieldName()
throws java.io.IOException,
AutomationException
IFeatureClassThis read-only property returns the name of the geometry field for the feature class.
getShapeFieldName in interface IFeatureClassAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.IGeometry,
ILine,
IPoint,
IPolygon
public IField getAreaField()
throws java.io.IOException,
AutomationException
IFeatureClassThis read-only property returns the name of the field which records the area of each feature. Only feature classes that have a ShapeType of esriGeometryPolygon have an Area field.
A null pointer will be returned if:
getAreaField in interface IFeatureClassAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.IField,
IFields
public IField getLengthField()
throws java.io.IOException,
AutomationException
IFeatureClassThis read-only property returns the name of the field which records the length of each feature. Only feature classes that have a ShapeType of esriGeometryPolygon or esriGeometryPolyLine have a Length field. For Line features, this field records the length of the polyline. For polygon features, this field records the perimeter of the polygon.
A null pointer will be returned if:
getLengthField in interface IFeatureClassAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.IField,
IFields
public IFeatureDataset getFeatureDataset()
throws java.io.IOException,
AutomationException
IFeatureClassThis read-only property returns the IFeatureDataset interface on the feature dataset that this feature class is a memeber of. If the feature class is a stand alone feature class (it does not have a feature dataset), then this function will return a null pointer. A coverage feature class will return the IFeatureDataset interface to the coverage itself. Shapefiles will always return a null pointer.
getFeatureDataset in interface IFeatureClassjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.IFeatureDataset,
IDataset
public IFeature createFeature()
throws java.io.IOException,
AutomationException
IFeatureClassCreateFeature will create a new feature for the feature class. The new feature is by default assigned a unique object ID (OID). All other fields are initialized to null values if they can be made null and to built-in default values appropriate to the type of the field if they cannot be made null. Use the IFeature::Store method to actually store this new feature in the database. When working with a versioned feature class, CreateFeature should only be called within an edit session. You can start an edit session by calling IWorkspaceEdit::StartEditing. 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.
After calling CreateFeature, the default subtype value is not automatically set nor are default values initialized. For features without a subtype that have defined default values, calling IRowSubtypes::InitDefaultValues will initialize the default values. Use IRowSubtypes::SubtypeCode to set the subtype value for features with subtypes before calling IRowSubtypes::InitDefaultValues to initialize the default values for the particular subtype.
Calling the CreateFeature method on a feature class (via the IFeatureClass interface on the feature class) has the same effect as calling the CreateRow method on the FeatureClass (via the ITable interface on the feature class) except that the IFeatureClass methods return IFeature interfaces on the returned row object.
The basic process to create a new feature is:
1) Create the feature
2) Create the geometry for the feature
3) Store the geometry in the feature
4) Store the feature
createFeature in interface IFeatureClassjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.IFeature,
IRowSubtypes,
IWorkspaceEdit
public IFeature getFeature(int iD)
throws java.io.IOException,
AutomationException
IFeatureClassGetFeature will return the IFeature interface for a feature in the feature class with a given Object ID (OID). This method is typically used to find a particular feature that you know the OID for. Use a cursor if you wish to loop through all features in the feature class.
Calling the GetFeature method on a feature class (via the IFeatureClass interface on the feature class) has the same effect as calling the GetRow method on the FeatureClass (via the ITable interface on the feature class) except that the IFeatureClass methods return IFeature interfaces.
getFeature in interface IFeatureClassiD - The iD (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.IObject,
IFeature
public IFeatureCursor getFeatures(java.lang.Object fids,
boolean recycling)
throws java.io.IOException,
AutomationException
IFeatureClassGetFeatures will return an IFeatureCursor which contains all the features in the feature class with the given Object IDs (OID). This method can be used to loop through a particular set of features that you know the OIDs for.
Calling the GetFeatures method in IFeatureClass has the same effect as calling the GetRows method in ITable except that the IFeatureClass method returns the IFeatureCursor interface on the returned cursor.
getFeatures in interface IFeatureClassfids - A Variant (in)recycling - The recycling (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.IFeature,
IFeatureCursor
public int getFeatureClassID()
throws java.io.IOException,
AutomationException
IFeatureClassThis read-only property will return the unique identifier for this feature class. All feature classes inside Geodatabases have a unique ID. Coverage and Shapefile feature classes do not, so IFeatureClass::FeatureClassID will always return -1 for Coverage and Shapefile feature classes. Since IFeatureClass inherits from IObjectClass, you can also get the feature class ID from IObjectClass:: ObjectClassID.
getFeatureClassID in interface IFeatureClassjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.IObjectClass
public IFeatureBuffer createFeatureBuffer()
throws java.io.IOException,
AutomationException
IFeatureClassThe CreateFeatureBuffer method creates a feature buffer and returns the IFeatureBuffer interface. This can be used to create new features in the feature class with an insert cursor. Like creating a feature with IFeatureClass::CreateFeature, the field values for the new feature must be initialized to some value before it can be stored in the database. 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 CreateFeatureBuffer method in IFeatureClass has the same effect as calling the CreateRowBuffer interface in ITable except that the IFeatureClass methods return an IFeatureBuffer interface on the created row buffer.
createFeatureBuffer in interface IFeatureClassjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.IFeature,
IFeatureCursor,
IFeatureBuffer
public int featureCount(IQueryFilter queryFilter)
throws java.io.IOException,
AutomationException
IFeatureClassFeatureCount returns the number of features that satisfy some attribute and/or spatial query as specified by an IQueryFilter object. If Nothing is supplied for the IQueryFilter, then FeatureCount returns the total number of features in the feature class.
In Java, rather than passing Nothing to get the total number of features, you should pass null.
featureCount in interface IFeatureClassqueryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.IQueryFilter
public IFeatureCursor search(IQueryFilter filter,
boolean recycling)
throws java.io.IOException,
AutomationException
IFeatureClassSearch will return an IFeatureCursor with all of the features that satisfy some attribute and/or spatial query as specified by an IQueryFilter object. If Nothing is given as the IQueryFilter, then the feature cursor will have all of the features from the feature class.
The recycling parameter controls row object allocation behavior. Recycling cursors rehydrate a single feature object on each fetch and can be used to optimize read-only access, for example, when drawing. It is illegal to maintain a reference on a feature object returned by a recycling cursor across multiple calls to NextFeature on the cursor. Feature objects returned by a recycling cursor should not be modified. Non-recycling cursors return a separate feature object on each fetch. The features returned by a non-recycling cursor may be modified and stored with polymorphic behavior. The Geodatabase guarantees "unique instance semantics" on non-recycling feature objects fetched during an edit session. If the feature object to be retrieved by a call to search has already been instantiated and is being referenced by the calling application, then a reference to the existing feature object is returned.
Feature cursors returned from the Search method cannot be used to update the features in the cursor. The feature cursor returned from the Update method should be used to update those features.
Non-recycling feature cursors returned from the Search method *MUST* be used when copying features from the cursor into an insert cursor of another class. This is because a recycling cursor reuses the same geometry and under some circumstances all of the features inserted into the insert cursor may have the same geometry. Using a non-recycling cursor ensures that each geometry is unique.
search in interface IFeatureClassfilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)recycling - The recycling (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.IQueryFilter,
IFeatureCursor
public IFeatureCursor IFeatureClass_update(IQueryFilter filter,
boolean recycling)
throws java.io.IOException,
AutomationException
IFeatureClass
IFeatureClass_update in interface IFeatureClassfilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)recycling - The recycling (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public IFeatureCursor IFeatureClass_insert(boolean useBuffering)
throws java.io.IOException,
AutomationException
IFeatureClass
IFeatureClass_insert in interface IFeatureClassuseBuffering - The useBuffering (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public ISpatialReference getSpatialReference()
throws java.io.IOException,
AutomationException
IGeoDatasetThis property is read only. For layers, when the first layer is added to ArcMap, its spatial reference is read by this property, and the map is set to this spatial reference.
getSpatialReference in interface IGeoDatasetjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IEnvelope getExtent()
throws java.io.IOException,
AutomationException
IGeoDatasetThe IGeoDataset::Extent property returns an envelope representing the maximum extent of data which has been stored in the dataset.
Consider the following scenario. A new feature class has features added to it. The IGeoDataset::Extent is then requested and an envelope is returned. The extents of the envelope returned are represented by the red box in the image below.
If a portion of the features were then deleted and the extent is again requested an envelope with the exact same extents as during the first request would be returned (see image below). This is because the deletion of features does not shrink the extent. However all additions of features outside the red box would increase the envelope returned to encompass the newly added features.
If you would like to update the IGeoDataset::Extent property to reflect the current features in your dataset please see IFeatureClassManage::UpdateExtent (also see IFeatureClassLoad). In the image below the extent has been updated and a new envelope is being returned.
ESRI's GroupLayer implements this property differently from most other layer coclasses. When you instantiate a new GroupLayer, this property will return a valid envelope with zero height and width. With most other newly instantiated layers (for example FeatureLayer, RasterLayer, TinLayer), this property initally returns Nothing.
getExtent in interface IGeoDatasetAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public ITable getEventTable()
throws java.io.IOException,
AutomationException
IXYEventSource
getEventTable in interface IXYEventSourceAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public IXYEventProperties getEventProperties()
throws java.io.IOException,
AutomationException
IXYEventSource
getEventProperties in interface IXYEventSourcejava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void refreshExtent()
throws java.io.IOException,
AutomationException
IXYEventSource
refreshExtent in interface IXYEventSourcejava.io.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 | |||||||||