com.esri.arcgis.trackinganalyst
Class TemporalRecordSet

java.lang.Object
  extended by com.esri.arcgis.trackinganalyst.TemporalRecordSet
All Implemented Interfaces:
ITemporalSearch, IClass, IDataset, IDatasetEdit, IDatasetEditInfo, IFeatureClass, IFeatureClassLoad, IFeatureClassManage, IFeatureClassWrite, IGeoDataset, IGeoDataset2, IModelInfo, IObjectClass, IObjectClassInfo, IObjectClassInfo2, ISubtypes, ITable, ITableCapabilities, IValidation, IValidation2, ITemporalRecordSet, ITxEnumTrackId, ITxFeatureClass, com.esri.arcgis.interop.RemoteObjRef, IDocumentVersionSupportGEN, IPersist, IPersistStream, ISupportErrorInfo, Externalizable, Serializable

public class TemporalRecordSet
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ITemporalRecordSet, ITemporalSearch, ISupportErrorInfo, ITxFeatureClass, IFeatureClass, IClass, IDataset, IGeoDataset, IGeoDataset2, IObjectClass, ITable, ITableCapabilities, IDatasetEdit, IDatasetEditInfo, IFeatureClassLoad, IFeatureClassManage, IFeatureClassWrite, IModelInfo, IObjectClassInfo, IObjectClassInfo2, ISubtypes, IValidation, IValidation2, IPersist, IPersistStream, IDocumentVersionSupportGEN, ITxEnumTrackId, Externalizable

Defines the COM coclass for the TemporalRecordSet COM object.

Description

This object defines the COM CoClass for the TemporalRecordset COM object. This object's primary purpose is to index or sort a feature class and provide the mechanism to allow cursors to be created from this object that provide feature data in temporal order from oldest to newest.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

See Also:
Serialized Form

Constructor Summary
TemporalRecordSet()
          Constructs a TemporalRecordSet using ArcGIS Engine.
TemporalRecordSet(Object obj)
          Construct a TemporalRecordSet 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 addRule(IRule rule)
          Adds the rule to the set of associated rules.
 void addSubtype(int subtypeCode, String subtypeName)
          Adds the subtype to the set of associated subtypes.
 void alterRule(IRule rule)
          Alter the existing validation rule.
 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.
 Object convertToSupportedObject(int docVersion)
          Convert the object to another object that is supported.
 IDataset copy(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 deleteRule(IRule rule)
          Deletes the rule from the set of associated rules.
 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(Object o)
          Compare this object with another
 int featureCount(IQueryFilter queryFilter)
          The number of features selected by the specified query.
 int findField(String name)
          The index of the field with the specified name.
 String getAliasName()
          The alias name of the object class.
 IField getAreaField()
          The geometry area field.
 String getBrowseName()
          The browse name of the dataset.
 int getCachingMode()
          The feature class caching mode.
 String getCategory()
          The category of the dataset.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 IUID getCLSID()
          The GUID for the COM Class (CoClass) corresponding to instances of this object class.
 int getCount()
          Number of features contained by the cursor.
 int getDefaultSubtypeCode()
          The default subtype associated with the class.
 Object getDefaultValue(int subtypeCode, String fieldName)
          The default value for the associated attribute.
 IDomain getDomain(int subtypeCode, String fieldName)
          The domain given the subtype and field.
 String getEndTimeFieldName()
          The feature end time field name.
 IUID getEXTCLSID()
          The GUID for the COM Class (CoClass) corresponding to the class extension for this object class.
 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 getFeatureCacheWindow()
          Determines the number of features to cache if FeaturesCached property is true.
 IFeatureClass getFeatureClass()
          A reference to the feature class of which this record set is a member.
 int getFeatureClassID()
          The unique ID for the Feature Class.
 IFeatureDataset getFeatureDataset()
          The feature dataset that contains the feature class.
 IFeatureCursor getFeatures(Object fids, boolean recycling)
          Deprecated. This method uses C style arrays which are not supported in the ArcGIS API for Java. It is replaced by GeoDatabaseHelper#getFeatures(com.esri.arcgis.geodatabase.IFeatureClass, int[], boolean).
 int getFeatureType()
          The type of features in this feature class.
 IFields getFields()
          The fields collection for this object class.
 String getFirstTrackId()
          Retrives the first Track ID in the list.
 IName getFullName()
          The associated name object.
 IGeodataXform getGeodataXform()
          The geodata transformation of the GeoDataset.
 IIndexes getIndexes()
          The indexes collection for this object class.
 ITime getLastUpdateTime(String trackId)
          Returns the time that a given track was last updated.
 IField getLengthField()
          The geometry length field.
 String getModelName()
          The model name of the field.
 Object getMostCurrentFeature()
          Returns success, but does nothing.
 String getName()
          The name of the Dataset.
 IEnvelope getNativeExtent()
          The native extent of the GeoDataset (before transformation applied).
 ISpatialReference getNativeSpatialReference()
          The native spatial reference of the GeoDataset (before transformation applied).
 String getNextTrackId()
          Retrives the next Track ID in the list.
 int getObjectClassID()
          The unique ID for the object class.
 String getOIDFieldName()
          The name of the field corresponding to the OID.
 Object getOldestFeature()
          Returns success, but does nothing.
 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(Object oids, boolean recycling)
          The cursor of rows based on a set of object ids.
 IEnumRule getRules()
          The rules associated with the class.
 IEnumRule getRulesByField(String fieldName)
          The rules associated with the attribute.
 IEnumRule getRulesBySubtypeCode(int subtypeCode)
          The rules associated with the subtype.
 String getShapeFieldName()
          The name of the default sShape field.
 int getShapeType()
          The type of the default Shape for the features in this feature class.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 ISpatialReference getSpatialReference()
          The spatial reference of the GeoDataset.
 String getStartTimeFieldName()
          The feature start time field name.
 IEnumDataset getSubsets()
          Datasets contained within this dataset.
 int getSubtypeFieldIndex()
          The subtype field index.
 String getSubtypeFieldName()
          The subtype field name.
 String getSubtypeName(int subtypeCode)
          The subtype name.
 IEnumSubtype getSubtypes()
          The subtypes associated with the class.
 String getTemporalColumnName()
          Identifies the column containing time and date information.
 String getTimeFieldAmFormat()
          Custom string representation of the AM symbol.
 String getTimeFieldFormat()
          The format used to parse time fields.
 int getTimeFieldLocaleID()
          Language identifier to be used when parsing time fields from a custom time string.
 String getTimeFieldPmFormat()
          Custom string representation of the PM symbol.
 String getTimeSeriesColumnName()
          Identifies column in the feature class containing temporal observations with time series.
 ISelectionSet getTrackFeatures(String trackId)
          Returns a selection set of features in a given track.
 String getTrackIDFieldName()
          The name of the field used to group features into tracks.
 String[] getTrackIds()
          Retrives the Track ID list.
 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.
 void indexFeatureClass(Object cacheStartingTime, Object cacheEndingTime, ISelectionSet selSet, IQueryFilter queryFilter, int localeLanguageID, String dateFormat, String timeFormat, String amDesignator, String pmDesignator)
          Re-builds the temporal index and caches features based on the supplied temporal parameters.
 void indexFeatureClass2(Object startingTime, Object endingTime, ISelectionSet selSet, IQueryFilter queryFilter)
          Re-build the temporal index and cache, according to the ITxFeatureClass properties and given parameters.
 ICursor insert(boolean useBuffering)
          Returns a cursor that can be used to insert new Rows.
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 boolean isBeingEdited()
          True if the dataset is being edited.
 boolean isCacheFeatures()
          Controls whether features are cached in the renderer's feature memory or are read from the feature class.
 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.
 void isDirty()
          isDirty
 boolean isHasOID()
          Indicates if the class has an object identity (OID) field.
 boolean isHasSubtype()
          Indicates if the table has subtypes.
 boolean isLoadOnlyMode()
          Indicates if the featureclass is in load only mode.
 boolean isSupportedAtVersion(int docVersion)
          Is this object valid at the given document version.
 ICursor ITable_search(IQueryFilter queryFilter, boolean recycling)
          An object cursor that can be used to fetch row objects selected by the specified query.
 ICursor lastKnownFeatures(Object varStartingTime, Object varEndingTime)
          Searches for last known features in the dataset.
 IFeatureIDSet lastKnownOIDs(Object varStartingTime, Object varEndingTime)
          Searches for the last known OIDs in the dataset.
 void load(IStream pstm)
          load
 void queryTemporalExtent(Object[] pvarStartTime, Object[] pvarEndTime)
          Queries temporal data within the full temporal extent of the dataset.
 void queryTrackTimeExtent(String trackId, ITime[] startTime, ITime[] endTime)
          Returns the start and end times of a given track.
 void readExternal(ObjectInput in)
           
 void rebuildIndex()
          Re-build the temporal index and cache, according to the ITxFeatureClass properties.
 void removeFeature(IFeature feature)
          Deletes a feature from the database, does not trigger OnDelete event.
 void removeFeatures(ISet features)
          Deletes a set of features from the database, does not trigger OnDelete events.
 void rename(String name)
          Renames this Dataset.
 int rowCount(IQueryFilter queryFilter)
          The number of Rows selected by the specified query.
 void save(IStream pstm, int fClearDirty)
          save
 IFeatureCursor search(IQueryFilter filter, boolean recycling)
          Returns an object cursor that can be used to fetch feature objects selected by the specified query.
 IFeatureCursor search(IQueryFilter queryFilter, boolean recycling, boolean forDrawing)
          Performs a query on the record set for the given time range, returning a feature cursor.
 ISelectionSet select(IQueryFilter queryFilter, int selType, int selOption, IWorkspace selectionContainer)
          Returns a selection That contains the object ids selected by the specified query.
 ISelectionSet selectByDate(Object startDate, Object endDate)
          Allows user to select record set by its date value.
 void setBrowseName(String name)
          The browse name of the dataset.
 void setCacheFeatures(boolean cacheTheFeatures)
          Controls whether features are cached in the renderer's feature memory or are read from the feature class.
 void setCachingMode(int cachingMode)
          The feature class caching mode.
 void setDefaultSubtypeCode(int subtypeCode)
          The default subtype associated with the class.
 void setDefaultValue(int subtypeCode, String fieldName, Object value)
          The default value for the associated attribute.
 void setDomainByRef(int subtypeCode, String fieldName, IDomain domain)
          The domain given the subtype and field.
 void setEndTimeFieldName(String name)
          The feature end time field name.
 void setFeatureCacheWindow(int percent)
          Determines the number of features to cache if FeaturesCached property is true.
 void setFeatureClassByRef(IFeatureClass featureClass)
          A reference to the feature class of which this record set is a member.
 void setLoadOnlyMode(boolean isInLoadMode)
          Indicates if the featureclass is in load only mode.
 void setModelName(String name)
          The model name of the field.
 void setStartTimeFieldName(String name)
          The feature start time field name.
 void setSubtypeFieldName(String fieldName)
          The subtype field name.
 void setTemporalColumnName(String name)
          Identifies the column containing time and date information.
 void setTimeFieldAmFormat(String amFormat)
          Custom string representation of the AM symbol.
 void setTimeFieldFormat(String timeFieldFormat)
          The format used to parse time fields.
 void setTimeFieldLocaleID(int localeID)
          Language identifier to be used when parsing time fields from a custom time string.
 void setTimeFieldPmFormat(String pmFormat)
          Custom string representation of the PM symbol.
 void setTimeSeriesColumnName(String name)
          Identifies column in the feature class containing temporal observations with time series.
 void setTrackIDFieldName(String name)
          The name of the field used to group features into tracks.
 ICursor update(IQueryFilter queryFilter, boolean recycling)
          Returns a cursor that can be used to update Rows selected by the specified query.
 void updateExtent()
          Updates the XY, M, Z extent.
 void updateSearchedRows(IQueryFilter queryFilter, IRowBuffer buffer)
          Update the Rows in the database selected by the specified query.
 ISelectionSet validate(IQueryFilter selection, IWorkspace workspace)
          Validates the selection.
 ISelectionSet validateSelection(ISelectionSet selection, IWorkspace workspace)
          Validates the selection.
 ISet validateSet(ISet selection)
          Validates the set.
 void writeExternal(ObjectOutput out)
           
 void writeFeature(IFeature feature)
          Stores a feature to the database, does not trigger OnStore event.
 void writeFeatures(ISet features)
          Stores a set of features to the database, does not trigger OnStore events.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

TemporalRecordSet

public TemporalRecordSet()
                  throws IOException,
                         UnknownHostException
Constructs a TemporalRecordSet using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

TemporalRecordSet

public TemporalRecordSet(Object obj)
                  throws IOException
Construct a TemporalRecordSet using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to TemporalRecordSet.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems TemporalRecordSet theTemporalRecordSet = (TemporalRecordSet) obj;
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

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

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getTemporalColumnName

public String getTemporalColumnName()
                             throws IOException,
                                    AutomationException
Identifies the column containing time and date information.

Product Availability

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

Specified by:
getTemporalColumnName in interface ITemporalRecordSet
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTemporalColumnName

public void setTemporalColumnName(String name)
                           throws IOException,
                                  AutomationException
Identifies the column containing time and date information.

Product Availability

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

Specified by:
setTemporalColumnName in interface ITemporalRecordSet
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFeatureClass

public IFeatureClass getFeatureClass()
                              throws IOException,
                                     AutomationException
A reference to the feature class of which this record set is a member.

Product Availability

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

Specified by:
getFeatureClass in interface ITemporalRecordSet
Specified by:
getFeatureClass in interface ITxFeatureClass
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFeatureClassByRef

public void setFeatureClassByRef(IFeatureClass featureClass)
                          throws IOException,
                                 AutomationException
A reference to the feature class of which this record set is a member.

Product Availability

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

Specified by:
setFeatureClassByRef in interface ITemporalRecordSet
Specified by:
setFeatureClassByRef in interface ITxFeatureClass
Parameters:
featureClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

indexFeatureClass

public void indexFeatureClass(Object cacheStartingTime,
                              Object cacheEndingTime,
                              ISelectionSet selSet,
                              IQueryFilter queryFilter,
                              int localeLanguageID,
                              String dateFormat,
                              String timeFormat,
                              String amDesignator,
                              String pmDesignator)
                       throws IOException,
                              AutomationException
Re-builds the temporal index and caches features based on the supplied temporal parameters.

Product Availability

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

Specified by:
indexFeatureClass in interface ITemporalRecordSet
Parameters:
cacheStartingTime - A Variant (in)
cacheEndingTime - A Variant (in)
selSet - A reference to a com.esri.arcgis.geodatabase.ISelectionSet (in)
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
localeLanguageID - The localeLanguageID (in)
dateFormat - The dateFormat (in)
timeFormat - The timeFormat (in)
amDesignator - The amDesignator (in)
pmDesignator - The pmDesignator (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCount

public int getCount()
             throws IOException,
                    AutomationException
Number of features contained by the cursor.

Product Availability

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

Specified by:
getCount in interface ITemporalRecordSet
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

search

public IFeatureCursor search(IQueryFilter queryFilter,
                             boolean recycling,
                             boolean forDrawing)
                      throws IOException,
                             AutomationException
Performs a query on the record set for the given time range, returning a feature cursor.

Product Availability

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

Specified by:
search in interface ITemporalRecordSet
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
recycling - The recycling (in)
forDrawing - The forDrawing (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureCursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCacheFeatures

public boolean isCacheFeatures()
                        throws IOException,
                               AutomationException
Controls whether features are cached in the renderer's feature memory or are read from the feature class.

Product Availability

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

Specified by:
isCacheFeatures in interface ITemporalRecordSet
Returns:
The cacheTheFeatures
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCacheFeatures

public void setCacheFeatures(boolean cacheTheFeatures)
                      throws IOException,
                             AutomationException
Controls whether features are cached in the renderer's feature memory or are read from the feature class.

Product Availability

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

Specified by:
setCacheFeatures in interface ITemporalRecordSet
Parameters:
cacheTheFeatures - The cacheTheFeatures (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTimeSeriesColumnName

public String getTimeSeriesColumnName()
                               throws IOException,
                                      AutomationException
Identifies column in the feature class containing temporal observations with time series.

Product Availability

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

Specified by:
getTimeSeriesColumnName in interface ITemporalRecordSet
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTimeSeriesColumnName

public void setTimeSeriesColumnName(String name)
                             throws IOException,
                                    AutomationException
Identifies column in the feature class containing temporal observations with time series.

Product Availability

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

Specified by:
setTimeSeriesColumnName in interface ITemporalRecordSet
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFeatureCacheWindow

public int getFeatureCacheWindow()
                          throws IOException,
                                 AutomationException
Determines the number of features to cache if FeaturesCached property is true.

Product Availability

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

Specified by:
getFeatureCacheWindow in interface ITemporalRecordSet
Returns:
The percent
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFeatureCacheWindow

public void setFeatureCacheWindow(int percent)
                           throws IOException,
                                  AutomationException
Determines the number of features to cache if FeaturesCached property is true.

Product Availability

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

Specified by:
setFeatureCacheWindow in interface ITemporalRecordSet
Parameters:
percent - The percent (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOldestFeature

public Object getOldestFeature()
                        throws IOException,
                               AutomationException
Returns success, but does nothing.

Product Availability

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

Specified by:
getOldestFeature in interface ITemporalRecordSet
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMostCurrentFeature

public Object getMostCurrentFeature()
                             throws IOException,
                                    AutomationException
Returns success, but does nothing.

Product Availability

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

Specified by:
getMostCurrentFeature in interface ITemporalRecordSet
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

selectByDate

public ISelectionSet selectByDate(Object startDate,
                                  Object endDate)
                           throws IOException,
                                  AutomationException
Allows user to select record set by its date value.

Product Availability

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

Specified by:
selectByDate in interface ITemporalRecordSet
Parameters:
startDate - A Variant (in)
endDate - A Variant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ISelectionSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

lastKnownOIDs

public IFeatureIDSet lastKnownOIDs(Object varStartingTime,
                                   Object varEndingTime)
                            throws IOException,
                                   AutomationException
Searches for the last known OIDs in the dataset.

Product Availability

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

Specified by:
lastKnownOIDs in interface ITemporalSearch
Parameters:
varStartingTime - A Variant (in)
varEndingTime - A Variant (in)
Returns:
A reference to a com.esri.arcgis.carto.IFeatureIDSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

lastKnownFeatures

public ICursor lastKnownFeatures(Object varStartingTime,
                                 Object varEndingTime)
                          throws IOException,
                                 AutomationException
Searches for last known features in the dataset.

Product Availability

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

Specified by:
lastKnownFeatures in interface ITemporalSearch
Parameters:
varStartingTime - A Variant (in)
varEndingTime - A Variant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ICursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryTemporalExtent

public void queryTemporalExtent(Object[] pvarStartTime,
                                Object[] pvarEndTime)
                         throws IOException,
                                AutomationException
Queries temporal data within the full temporal extent of the dataset.

Product Availability

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

Specified by:
queryTemporalExtent in interface ITemporalSearch
Parameters:
pvarStartTime - A Variant (in/out: use single element array)
pvarEndTime - A Variant (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getCachingMode

public int getCachingMode()
                   throws IOException,
                          AutomationException
The feature class caching mode.

Product Availability

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

Specified by:
getCachingMode in interface ITxFeatureClass
Returns:
A com.esri.arcgis.geodatabaseextensions.esriTxFeatureClassCachingMode constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCachingMode

public void setCachingMode(int cachingMode)
                    throws IOException,
                           AutomationException
The feature class caching mode.

Product Availability

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

Specified by:
setCachingMode in interface ITxFeatureClass
Parameters:
cachingMode - A com.esri.arcgis.geodatabaseextensions.esriTxFeatureClassCachingMode constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTrackIDFieldName

public String getTrackIDFieldName()
                           throws IOException,
                                  AutomationException
The name of the field used to group features into tracks.

Product Availability

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

Specified by:
getTrackIDFieldName in interface ITxFeatureClass
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTrackIDFieldName

public void setTrackIDFieldName(String name)
                         throws IOException,
                                AutomationException
The name of the field used to group features into tracks.

Product Availability

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

Specified by:
setTrackIDFieldName in interface ITxFeatureClass
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStartTimeFieldName

public String getStartTimeFieldName()
                             throws IOException,
                                    AutomationException
The feature start time field name.

Product Availability

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

Specified by:
getStartTimeFieldName in interface ITxFeatureClass
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setStartTimeFieldName

public void setStartTimeFieldName(String name)
                           throws IOException,
                                  AutomationException
The feature start time field name.

Product Availability

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

Specified by:
setStartTimeFieldName in interface ITxFeatureClass
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEndTimeFieldName

public String getEndTimeFieldName()
                           throws IOException,
                                  AutomationException
The feature end time field name.

Product Availability

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

Specified by:
getEndTimeFieldName in interface ITxFeatureClass
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setEndTimeFieldName

public void setEndTimeFieldName(String name)
                         throws IOException,
                                AutomationException
The feature end time field name.

Product Availability

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

Specified by:
setEndTimeFieldName in interface ITxFeatureClass
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTimeFieldFormat

public String getTimeFieldFormat()
                          throws IOException,
                                 AutomationException
The format used to parse time fields.

Product Availability

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

Specified by:
getTimeFieldFormat in interface ITxFeatureClass
Returns:
The timeFieldFormat
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTimeFieldFormat

public void setTimeFieldFormat(String timeFieldFormat)
                        throws IOException,
                               AutomationException
The format used to parse time fields.

Product Availability

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

Specified by:
setTimeFieldFormat in interface ITxFeatureClass
Parameters:
timeFieldFormat - The timeFieldFormat (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTimeFieldAmFormat

public String getTimeFieldAmFormat()
                            throws IOException,
                                   AutomationException
Custom string representation of the AM symbol.

Product Availability

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

Specified by:
getTimeFieldAmFormat in interface ITxFeatureClass
Returns:
The amFormat
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTimeFieldAmFormat

public void setTimeFieldAmFormat(String amFormat)
                          throws IOException,
                                 AutomationException
Custom string representation of the AM symbol.

Product Availability

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

Specified by:
setTimeFieldAmFormat in interface ITxFeatureClass
Parameters:
amFormat - The amFormat (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTimeFieldPmFormat

public String getTimeFieldPmFormat()
                            throws IOException,
                                   AutomationException
Custom string representation of the PM symbol.

Product Availability

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

Specified by:
getTimeFieldPmFormat in interface ITxFeatureClass
Returns:
The pmFormat
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTimeFieldPmFormat

public void setTimeFieldPmFormat(String pmFormat)
                          throws IOException,
                                 AutomationException
Custom string representation of the PM symbol.

Product Availability

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

Specified by:
setTimeFieldPmFormat in interface ITxFeatureClass
Parameters:
pmFormat - The pmFormat (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTimeFieldLocaleID

public int getTimeFieldLocaleID()
                         throws IOException,
                                AutomationException
Language identifier to be used when parsing time fields from a custom time string.

Product Availability

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

Specified by:
getTimeFieldLocaleID in interface ITxFeatureClass
Returns:
The localeID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTimeFieldLocaleID

public void setTimeFieldLocaleID(int localeID)
                          throws IOException,
                                 AutomationException
Language identifier to be used when parsing time fields from a custom time string.

Product Availability

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

Specified by:
setTimeFieldLocaleID in interface ITxFeatureClass
Parameters:
localeID - The localeID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

indexFeatureClass2

public void indexFeatureClass2(Object startingTime,
                               Object endingTime,
                               ISelectionSet selSet,
                               IQueryFilter queryFilter)
                        throws IOException,
                               AutomationException
Re-build the temporal index and cache, according to the ITxFeatureClass properties and given parameters.

Product Availability

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

Specified by:
indexFeatureClass2 in interface ITxFeatureClass
Parameters:
startingTime - A Variant (in)
endingTime - A Variant (in)
selSet - A reference to a com.esri.arcgis.geodatabase.ISelectionSet (in)
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rebuildIndex

public void rebuildIndex()
                  throws IOException,
                         AutomationException
Re-build the temporal index and cache, according to the ITxFeatureClass properties.

Product Availability

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

Specified by:
rebuildIndex in interface ITxFeatureClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getShapeType

public int getShapeType()
                 throws IOException,
                        AutomationException
The type of the default Shape for the features in this feature class.

Description

ShapeType 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.

Remarks

This read-only property returns the shape type for the feature class. This shape type can be one of the following esriGeometryType.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getShapeType in interface IFeatureClass
Returns:
A com.esri.arcgis.geometry.esriGeometryType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IFeatureClass.getShapeType(), esriGeometryType

getFeatureType

public int getFeatureType()
                   throws IOException,
                          AutomationException
The type of features in this feature class.

Remarks

This read-only property returns the feature type for the feature class as an esriFeatureType value. 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 enumerator.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getShapeFieldName

public String getShapeFieldName()
                         throws IOException,
                                AutomationException
The name of the default sShape field.

Remarks

This read-only property returns the name of the geometry field for the feature class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getShapeFieldName in interface IFeatureClass
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IPoint, IPolygon, IGeometry, ILine

getAreaField

public IField getAreaField()
                    throws IOException,
                           AutomationException
The geometry area field.

Remarks

This 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:

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAreaField in interface IFeatureClass
Returns:
A reference to a com.esri.arcgis.geodatabase.IField
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IField, IFields

getLengthField

public IField getLengthField()
                      throws IOException,
                             AutomationException
The geometry length field.

Remarks

This 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:

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLengthField in interface IFeatureClass
Returns:
A reference to a com.esri.arcgis.geodatabase.IField
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IField, IFields

getFeatureDataset

public IFeatureDataset getFeatureDataset()
                                  throws IOException,
                                         AutomationException
The feature dataset that contains the feature class.

Remarks

This 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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFeatureDataset in interface IFeatureClass
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createFeature

public IFeature createFeature()
                       throws IOException,
                              AutomationException
Create a new feature, with a system assigned object ID and null property values.

Remarks

CreateFeature 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.

If multiple features with common attributes are being sequentially created, the CreateFeatureBuffer method, IFeatureCursor.InsertFeature method and IFeatureBuffer interface should be used for better performance.

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createFeature in interface IFeatureClass
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeature
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IFeature, IFeatureCursor

getFeature

public IFeature getFeature(int iD)
                    throws IOException,
                           AutomationException
Get the feature with the specified object ID.

Remarks

GetFeature will return a feature from the feature class with the parameter-specified Object ID (OID). This method is typically used to find a particular feature with a known Object ID. A cursor should be used to iterate through all features in a 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 feature class (via the ITable interface) except that the return value is an IFeature reference, rather than IRow.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFeature in interface IFeatureClass
Parameters:
iD - The iD (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeature
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IFeature, IFeatureCursor

getFeatures

public IFeatureCursor getFeatures(Object fids,
                                  boolean recycling)
                           throws IOException,
                                  AutomationException
Deprecated. This method uses C style arrays which are not supported in the ArcGIS API for Java. It is replaced by GeoDatabaseHelper#getFeatures(com.esri.arcgis.geodatabase.IFeatureClass, int[], boolean).

Get a cursor of Rows given a set of object ids.

Remarks

GetFeatures will return an IFeatureCursor which contains the features from the feature class with the parameter-specified Object IDs (OID). This method can be used to loop through a particular set of features with known Object IDs.

Calling the GetFeatures method from the IFeatureClass interface has the same effect as calling the GetRows method from the ITable interface except that the return value is an IFeatureCursor reference, rather than an ICursor reference.

The fids parameter should be provided with an integer array. If the array contains an invalid Object ID, no error will occur, and no feature will be retrieved for the value.

This method should not be called from .NET or Java applications. Instead, call IGeoDatabaseBridge.GetFeatures.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFeatures in interface IFeatureClass
Parameters:
fids - A Variant (in)
recycling - The recycling (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureCursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IFeature, IFeatureCursor

getFeatureClassID

public int getFeatureClassID()
                      throws IOException,
                             AutomationException
The unique ID for the Feature Class.

Remarks

This 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.



Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFeatureClassID in interface IFeatureClass
Returns:
The fID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IObjectClass

createFeatureBuffer

public IFeatureBuffer createFeatureBuffer()
                                   throws IOException,
                                          AutomationException
Create a feature buffer that can be used with an insert cursor.

Remarks

The 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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createFeatureBuffer in interface IFeatureClass
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureBuffer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IFeature, IFeatureCursor

featureCount

public int featureCount(IQueryFilter queryFilter)
                 throws IOException,
                        AutomationException
The number of features selected by the specified query.

Remarks

FeatureCount 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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
featureCount in interface IFeatureClass
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
Returns:
The numFeatures
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:

In Java, rather than passing Nothing to get the total number of features, you should pass null.


search

public IFeatureCursor search(IQueryFilter filter,
                             boolean recycling)
                      throws IOException,
                             AutomationException
Returns an object cursor that can be used to fetch feature objects selected by the specified query.

Remarks

Search will return an IFeatureCursor with all of the features that satisfy the attribute and/or spatial constraints as specified by an IQueryFilter reference. If a null value is passed to the filter parameter, the feature cursor will return 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. Features 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. In other words, if the feature retrieved by a search cursor has already been instantiated and is being referenced by the calling application, then a reference to the existing feature object is returned.

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.

Existing rows can be edited with either a search cursor or an update cursor. When using a search cursor, NextRow is called, returning a reference to a row. The row is edited, and IRow.Store is called. When using an update cursor, NextRow is called, the row is edited, and ICursor.UpdateRow is called with the row as a parameter. It is important to remember, when using an update cursor, do not call the Store method.

In the same way, rows can be deleted using a search cursor or an update cursor, with IRow.Delete used instead of IRow.Store, and ICursor.DeleteRow used instead of ICursor.UpdateRow.
The recommended approach depends on whether or not the edits are being made in an edit session, if the cursor is being used by ArcMap or by an Engine application, and if the features being edited are simple or complex. The table below shows which approach to use in different situations:
ArcMap
Engine - Simple
Engine - Complex
Inside edit sessions
Search Cursor
Search Cursor
Search Cursor
Outside edit sessions
Search Cursor
Update Cursor
Search Cursor
A search cursor is always recommended in ArcMap, because the query may be satisfied by the contents of the map cache, making a DBMS query unnecessary.
When working with simple features and edit sessions in an Engine application, it's recommended that a search cursor be used to take advantage of batched updates in edit operations. With complex features, on the other hand, update calls are overridden by the features' custom behavior, meaning that the feature's store method will be called even if an update cursor is used.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
search in interface IFeatureClass
Parameters:
filter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
recycling - The recycling (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureCursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IQueryFilter

IFeatureClass_update

public IFeatureCursor IFeatureClass_update(IQueryFilter filter,
                                           boolean recycling)
                                    throws IOException,
                                           AutomationException
Returns a cursor that can be used to update features selected by the specified query.

Product Availability

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

Specified by:
IFeatureClass_update in interface IFeatureClass
Parameters:
filter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
recycling - The recycling (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureCursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

IFeatureClass_insert

public IFeatureCursor IFeatureClass_insert(boolean useBuffering)
                                    throws IOException,
                                           AutomationException
Returns a cursor that can be used to insert new features.

Product Availability

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

Specified by:
IFeatureClass_insert in interface IFeatureClass
Parameters:
useBuffering - The useBuffering (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureCursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

select

public ISelectionSet select(IQueryFilter queryFilter,
                            int selType,
                            int selOption,
                            IWorkspace selectionContainer)
                     throws IOException,
                            AutomationException
Returns a selection That contains the object ids selected by the specified query.

Remarks

Select will return an ISelectionSet 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 selection will have all of the features from the feature class.

Calling the Select method in IFeatureClass has the same effect as calling the corresponding method in ITable.

The selType parameter determines the type of selection set that will be created: an ID set, a snapshot, or a hybrid. See the ISelectionSet interface for a comparison of the three types.

When calling Select the selectionContainer parameter is no longer required. A null value should be passed as this parameter.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
select in interface IFeatureClass
Specified by:
select in interface ITable
Parameters:
queryFilter - 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)
Returns:
A reference to a com.esri.arcgis.geodatabase.ISelectionSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IQueryFilter

getObjectClassID

public int getObjectClassID()
                     throws IOException,
                            AutomationException
The unique ID for the object class.

Description

Returns the unique ID of the object class.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getObjectClassID in interface IObjectClass
Returns:
The objectClassID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRelationshipClasses

public IEnumRelationshipClass getRelationshipClasses(int role)
                                              throws IOException,
                                                     AutomationException
The relationship classes in which this object class participates in for the specified role.

Product Availability

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

Specified by:
getRelationshipClasses in interface IObjectClass
Parameters:
role - A com.esri.arcgis.geodatabase.esriRelRole constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumRelationshipClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAliasName

public String getAliasName()
                    throws IOException,
                           AutomationException
The alias name of the object class.

Description

Returns the alias name for the object class.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAliasName in interface IObjectClass
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findField

public int findField(String name)
              throws IOException,
                     AutomationException
The index of the field with the specified name.

Remarks

If FindField returns -1, the Field could not be found in the Fields collection.

Developers working with SDE should be aware of qualified field names and their impact on calls to FindField. For more information, see the IFields2 interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
findField in interface IClass
Parameters:
name - The name (in)
Returns:
The fieldIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFields

public IFields getFields()
                  throws IOException,
                         AutomationException
The fields collection for this object class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getIndexes

public IIndexes getIndexes()
                    throws IOException,
                           AutomationException
The indexes collection for this object class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getIndexes in interface IClass
Returns:
A reference to a com.esri.arcgis.geodatabase.IIndexes
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addField

public void addField(IField field)
              throws IOException,
                     AutomationException
Adds a field to this object class.

Remarks

Prior to adding a new field to a class, an exclusive schema lock should be obtained using the ISchemaLock interface.

Attempting to add a new field that does not allow null values will fail, if the class already has data in it. The only solution is to recreate the class with the non-nullable field, then copy the rows from the original class into the new class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

deleteField

public void deleteField(IField field)
                 throws IOException,
                        AutomationException
Deletes a field from this object class.

Remarks

DeleteField removes the specified field from a table, object class or feature class. Fields that are required by the Geodatabase and cannot be removed include:

Prior to deleting a field from a class, an exclusive schema lock should be obtained using the ISchemaLock interface.

Example:

// Assume we have a reference to a FeatureClass (pFC)

      IFields pFields;

      IField pField;



      pFields = pFC.getFields();

      pField = pFields.getField(pFields.findField("MyField"));



      pFC.deleteField(pField);

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

addIndex

public void addIndex(IIndex index)
              throws IOException,
                     AutomationException
Adds an index to this object class.

Remarks

Prior to adding a new index to a class, an exclusive schema lock should be obtained using the ISchemaLock interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

deleteIndex

public void deleteIndex(IIndex index)
                 throws IOException,
                        AutomationException
Deletes an index from this object class.

Remarks

Prior to deleting an index from a class, an exclusive schema lock should be obtained using the ISchemaLock interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isHasOID

public boolean isHasOID()
                 throws IOException,
                        AutomationException
Indicates if the class has an object identity (OID) field.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getOIDFieldName

public String getOIDFieldName()
                       throws IOException,
                              AutomationException
The name of the field corresponding to the OID.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getOIDFieldName in interface IClass
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCLSID

public IUID getCLSID()
              throws IOException,
                     AutomationException
The GUID for the COM Class (CoClass) corresponding to instances of this object class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCLSID in interface IClass
Returns:
A reference to a com.esri.arcgis.system.IUID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEXTCLSID

public IUID getEXTCLSID()
                 throws IOException,
                        AutomationException
The GUID for the COM Class (CoClass) corresponding to the class extension for this object class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getEXTCLSID in interface IClass
Returns:
A reference to a com.esri.arcgis.system.IUID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtension

public Object getExtension()
                    throws IOException,
                           AutomationException
The extension for this object class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtension in interface IClass
Returns:
A reference to another Object (IUnknown)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtensionProperties

public IPropertySet getExtensionProperties()
                                    throws IOException,
                                           AutomationException
The extension properties for this object class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtensionProperties in interface IClass
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

public String getName()
               throws IOException,
                      AutomationException
The name of the Dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getName in interface IDataset
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFullName

public IName getFullName()
                  throws IOException,
                         AutomationException
The associated name object.

Remarks

The FullName property returns a Name object for the dataset. The Name object can be persisted and provides a way to get back to the dataset in a future session of the application, via the Open method on the Name object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFullName in interface IDataset
Returns:
A reference to a com.esri.arcgis.system.IName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBrowseName

public String getBrowseName()
                     throws IOException,
                            AutomationException
The browse name of the dataset.

Remarks

BrowseName returns file names without their extension. For example, States.shp would appear as States.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getBrowseName in interface IDataset
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBrowseName

public void setBrowseName(String name)
                   throws IOException,
                          AutomationException
The browse name of the dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setBrowseName in interface IDataset
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getType

public int getType()
            throws IOException,
                   AutomationException
The type of the Dataset.

Remarks

The Type property returns the an esriDatasetType value indicating the dataset type, such as esriDTTable or esriDTFeatureClass.

Example:


// Assume we have a reference to an IfeatureClass (pFeatureClass) IDataset pDataset = null;
pDataset = new IDatasetProxy(pFeatureClass);
System.out.println(pDataset.getName() + " " + pDataset.getType());
if(pFeatureClass != null){
pDataset = pFeatureClass.getFeatureDataset();
System.out.println(pDataset.getName() + " " + pDataset.getType());
}
pDataset = new IDatasetProxy(pDataset.getWorkspace());
System.out.println(pDataset.getName() + " " +
pDataset.getType());

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getType in interface IDataset
Returns:
A com.esri.arcgis.geodatabase.esriDatasetType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCategory

public String getCategory()
                   throws IOException,
                          AutomationException
The category of the dataset.

Remarks

IDataset::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. In addition to this, returned strings are localized, meaning that code relying on a specific string being provided may fail when deployed with a different version of ArcGIS than it was developed with, or when deployed to a client using a different language than it was developed with.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCategory in interface IDataset
Returns:
The category
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubsets

public IEnumDataset getSubsets()
                        throws IOException,
                               AutomationException
Datasets contained within this dataset.

Description

The Subsets property returns other Dataset objects contained in this dataset.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSubsets in interface IDataset
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWorkspace

public IWorkspace getWorkspace()
                        throws IOException,
                               AutomationException
The workspace containing this dataset.

Description

The Workspace property returns the containing workspace for this dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getWorkspace in interface IDataset
Returns:
A reference to a com.esri.arcgis.geodatabase.IWorkspace
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPropertySet

public IPropertySet getPropertySet()
                            throws IOException,
                                   AutomationException
The set of properties for the dataset.

Description

The 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.

Most datasets do not implement this property and will either raise an error or return a null value if it's called. There are a handful of exceptions that will return property sets; these include the datasets from file geodatabases (as mentioned above) and coverages.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getPropertySet in interface IDataset
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canCopy

public boolean canCopy()
                throws IOException,
                       AutomationException
True if this dataset can be copied.

Remarks

The 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:

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
canCopy in interface IDataset
Returns:
The canCopy
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

copy

public IDataset copy(String copyName,
                     IWorkspace copyWorkspace)
              throws IOException,
                     AutomationException
Copies this dataset to a new dataset with the specified name.

Remarks

IDataset::Copy should only be used with datasets from file-based data sources, such as shapefiles and coverages.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
copy in interface IDataset
Parameters:
copyName - The copyName (in)
copyWorkspace - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canDelete

public boolean canDelete()
                  throws IOException,
                         AutomationException
True if this dataset can be deleted.

Remarks

The 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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
canDelete in interface IDataset
Returns:
The canDelete
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

delete

public void delete()
            throws IOException,
                   AutomationException
Deletes this dataset.

Remarks

Certain feature classes, such as network and topology feature classes, cannot be deleted until their containing objects are deleted.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

canRename

public boolean canRename()
                  throws IOException,
                         AutomationException
True if this dataset can be renamed.

Remarks

The 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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
canRename in interface IDataset
Returns:
The canRename
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rename

public void rename(String name)
            throws IOException,
                   AutomationException
Renames this Dataset.

Remarks

IDataset::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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
rename in interface IDataset
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpatialReference

public ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
The spatial reference of the GeoDataset.

Remarks

This 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.

Instances of the esriCarto.GroupLayer class will return null for this property, as a group layer can contain multiple datasets with different spatial references.

Modifications to a spatial reference returned by this property will not be persisted. To modify the spatial reference of a dataset, the IGeoDatasetSchemaEdit and IGeoDatasetSchemaEdit2 interfaces should be used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSpatialReference in interface IGeoDataset
Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtent

public IEnvelope getExtent()
                    throws IOException,
                           AutomationException
The extent of the GeoDataset.

Remarks

The 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.

The red box represents the IGeoDataset extent

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.

The red box represents the IGeoDataset extent after some of the features have been deleted

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.

The red box represents the IGeoDataset extent after it has been updated

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtent in interface IGeoDataset
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGeodataXform

public IGeodataXform getGeodataXform()
                              throws IOException,
                                     AutomationException
The geodata transformation of the GeoDataset.

Product Availability

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

Specified by:
getGeodataXform in interface IGeoDataset2
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeodataXform
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNativeSpatialReference

public ISpatialReference getNativeSpatialReference()
                                            throws IOException,
                                                   AutomationException
The native spatial reference of the GeoDataset (before transformation applied).

Product Availability

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

Specified by:
getNativeSpatialReference in interface IGeoDataset2
Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNativeExtent

public IEnvelope getNativeExtent()
                          throws IOException,
                                 AutomationException
The native extent of the GeoDataset (before transformation applied).

Product Availability

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

Specified by:
getNativeExtent in interface IGeoDataset2
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createRow

public IRow createRow()
               throws IOException,
                      AutomationException
Creates a row in the database with a system assigned object ID and null property values.

Remarks

The 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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRow

public IRow getRow(int oID)
            throws IOException,
                   AutomationException
The row from the database with the specified object ID.

Remarks

The 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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRows

public ICursor getRows(Object oids,
                       boolean recycling)
                throws IOException,
                       AutomationException
The cursor of rows based on a set of object ids.

Remarks

The 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.

The oids parameter should be passed an integer array. For example:

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

// Get a recycling cursor for the OID array.

int[] oids = new int[] { 10844, 10853, 10871 };

ICursor cursor = table.getRows(oids, true);

Specified by:
getRows in interface ITable
Parameters:
oids - A Variant (in)
recycling - The recycling (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ICursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createRowBuffer

public IRowBuffer createRowBuffer()
                           throws IOException,
                                  AutomationException
Creates a row buffer that can be used with an insert cursor.

Remarks

The 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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

updateSearchedRows

public void updateSearchedRows(IQueryFilter queryFilter,
                               IRowBuffer buffer)
                        throws IOException,
                               AutomationException
Update the Rows in the database selected by the specified query.

Description

This method will edit the rows matching the query filter's constraints. The values in each row will be replaced with the corresponding field's value in the provided row buffer. The fields being edited should be specified in the query filter's SubFields property. If the row buffer contains null values, and the SubFields property is not properly set, the row's values will be overwritten with the row buffer's null values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
updateSearchedRows in interface ITable
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
buffer - A reference to a com.esri.arcgis.geodatabase.IRowBuffer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteSearchedRows

public void deleteSearchedRows(IQueryFilter queryFilter)
                        throws IOException,
                               AutomationException
Delete the Rows in the database selected by the specified query.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

rowCount

public int rowCount(IQueryFilter queryFilter)
             throws IOException,
                    AutomationException
The number of Rows selected by the specified query.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
rowCount in interface ITable
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
Returns:
The numRows
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

ITable_search

public ICursor ITable_search(IQueryFilter queryFilter,
                             boolean recycling)
                      throws IOException,
                             AutomationException
An object cursor that can be used to fetch row objects selected by the specified query.

Product Availability

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

Specified by:
ITable_search in interface ITable
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
recycling - The recycling (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ICursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

update

public ICursor update(IQueryFilter queryFilter,
                      boolean recycling)
               throws IOException,
                      AutomationException
Returns a cursor that can be used to update Rows selected by the specified query.

Remarks

The 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 complex objects and features.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
update in interface ITable
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
recycling - The recycling (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ICursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insert

public ICursor insert(boolean useBuffering)
               throws IOException,
                      AutomationException
Returns a cursor that can be used to insert new Rows.

Remarks

The 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 complex objects use the CreateRow and Store methods to achieve polymorphism, and there is no difference in performance in these cases.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
insert in interface ITable
Parameters:
useBuffering - The useBuffering (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ICursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanSelect

public boolean isCanSelect()
                    throws IOException,
                           AutomationException
Indicates if the table supports selection.

Remarks

Use 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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCanSelect in interface ITableCapabilities
Returns:
The canSelect
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isBeingEdited

public boolean isBeingEdited()
                      throws IOException,
                             AutomationException
True if the dataset is being edited.

Remarks

Once an edit session has been started on a workspace, the IsBeingEdited method on the IDatasetEdit interface can be used to determine if a particular dataset is participating in the edit session.

The reasons why a dataset may not participate include the connected user has no privileges or permission to edit the dataset, the connected user is not licensed to edit this type of dataset, or the dataset is not versioned but a versioned edit session has been started (or vice versa).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isBeingEdited in interface IDatasetEdit
Returns:
The pIsBeingEdited
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanEdit

public boolean isCanEdit()
                  throws IOException,
                         AutomationException
True if the dataset supports edit sessions with the ability to discard edits on save.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCanEdit in interface IDatasetEditInfo
Returns:
The pCanEdit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanUndo

public boolean isCanUndo()
                  throws IOException,
                         AutomationException
True if the dataset supports edit sessions with the ability to undo individual edit operations.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCanUndo in interface IDatasetEditInfo
Returns:
The pCanUndo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanRedo

public boolean isCanRedo()
                  throws IOException,
                         AutomationException
True if the dataset supports edit sessions with the ability to redo undone operations.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCanRedo in interface IDatasetEditInfo
Returns:
The pCanUndo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isLoadOnlyMode

public boolean isLoadOnlyMode()
                       throws IOException,
                              AutomationException
Indicates if the featureclass is in load only mode.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isLoadOnlyMode in interface IFeatureClassLoad
Returns:
The isInLoadMode
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLoadOnlyMode

public void setLoadOnlyMode(boolean isInLoadMode)
                     throws IOException,
                            AutomationException
Indicates if the featureclass is in load only mode.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setLoadOnlyMode in interface IFeatureClassLoad
Parameters:
isInLoadMode - The isInLoadMode (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updateExtent

public void updateExtent()
                  throws IOException,
                         AutomationException
Updates the XY, M, Z extent.

Remarks

The UpdateExtent method recalculates the XY, Z and M extent for a feature class, based on the features contained within it. This extent is returned by the IGeodataset.Extent property. As new features are added to a feature class in a geodatabase, or a shapefile feature class, the extent is automatically expanded to accomodate them, however, when features are deleted, the extent does not shrink to eliminate areas where there are no longer features. This method will shrink the extent of the feature class to eliminate these areas.

The extent is a property of the feature class' schema, therefore, it requires an exclusive schema lock to execute, and is not an undoable operation. In the case of personal, File and ArcSDE geodatabase feature classes, the M and Z extent are not stored with the class. In the case of shapefiles, the M and Z extents are stored with the feature class.

When calling this method against an ArcSDE feature class, the extent is calculated based on the features that exist for that feature class in all versions. The extent will not shrink unless this method is called after the database has been compressed.

This method is not supported on coverage feature classes. A coverage's extent is maintained automatically during the editing process.

Note: The extents discussed here is not the same as the spatial reference domain. The domains (XY, Z, M) define the valid range of coordinate values that can be stored in a feature class. The extents reflect the actual range of coordinate values that exist within the feature class. The extents cannot be larger than the domains.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
updateExtent in interface IFeatureClassManage
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeFeature

public void writeFeature(IFeature feature)
                  throws IOException,
                         AutomationException
Stores a feature to the database, does not trigger OnStore event.

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:
writeFeature in interface IFeatureClassWrite
Parameters:
feature - 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.

writeFeatures

public void writeFeatures(ISet features)
                   throws IOException,
                          AutomationException
Stores a set of features to the database, does not trigger OnStore events.

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

removeFeature

public void removeFeature(IFeature feature)
                   throws IOException,
                          AutomationException
Deletes a feature from the database, does not trigger OnDelete event.

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:
removeFeature in interface IFeatureClassWrite
Parameters:
feature - 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.

removeFeatures

public void removeFeatures(ISet features)
                    throws IOException,
                           AutomationException
Deletes a set of features from the database, does not trigger OnDelete events.

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

getModelName

public String getModelName()
                    throws IOException,
                           AutomationException
The model name of the field.

Remarks

Returns the model name currently associated with the field or object class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getModelName in interface IModelInfo
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IObjectClass, IField

setModelName

public void setModelName(String name)
                  throws IOException,
                         AutomationException
The model name of the field.

Remarks

Sets the model name for the field or object class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setModelName in interface IModelInfo
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IObjectClass, IField

canBypassStoreMethod

public boolean canBypassStoreMethod()
                             throws IOException,
                                    AutomationException
Indicates if updates to objects can bypass the Store method and OnChange notifications for efficiency.

Remarks

CanBypassStoreMethod 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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
canBypassStoreMethod in interface IObjectClassInfo
Specified by:
canBypassStoreMethod in interface IObjectClassInfo2
Returns:
The canBypassStore
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canBypassEditSession

public boolean canBypassEditSession()
                             throws IOException,
                                    AutomationException
Indicates if updates to objects can be safely made outside of an edit session.

Remarks

CanBypassEditSession 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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
canBypassEditSession in interface IObjectClassInfo2
Returns:
The canBypassEditSession
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasSubtype

public boolean isHasSubtype()
                     throws IOException,
                            AutomationException
Indicates if the table has subtypes.

Description

HasSubtype property returns a boolean value whether the given object class has subypes or not.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isHasSubtype in interface ISubtypes
Returns:
The hasSubtype
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultSubtypeCode

public int getDefaultSubtypeCode()
                          throws IOException,
                                 AutomationException
The default subtype associated with the class.

Description

DefaultSubtypeCode property sets and returns the default subtype code for the given object class.

Remarks

This property sets or returns the value of the default subtype code for the associated class.

Example:


String aPath = "shape path";

String aName = "shape name";

IWorkspaceFactory shapefileFactory = new ShapefileWorkspaceFactory();

IFeatureWorkspace featureWorkspace = 

new IFeatureWorkspaceProxy(shapefileFactory.openFromFile(aPath,0));

IFeatureClass featureClass = 

new IFeatureClassProxy(featureWorkspace.openFeatureClass(aName));

ISubtypes pSubtypes = new ISubtypesProxy(featureClass);

long lDefCode = pSubtypes.getDefaultSubtypeCode();

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setDefaultSubtypeCode

public void setDefaultSubtypeCode(int subtypeCode)
                           throws IOException,
                                  AutomationException
The default subtype associated with the class.

Description

DefaultSubtypeCode property sets the default subtype code for the given object class.

Example:


String aPath = "shape path";

String aName = "shape name";

IWorkspaceFactory shapefileFactory = new ShapefileWorkspaceFactory();

IFeatureWorkspace featureWorkspace = 

new IFeatureWorkspaceProxy(shapefileFactory.openFromFile(aPath,0));

IFeatureClass featureClass = 

new IFeatureClassProxy(featureWorkspace.openFeatureClass(aName));

ISubtypes pSubtypes = new ISubtypesProxy(featureClass);

long lDefCode = pSubtypes.getDefaultSubtypeCode();

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getDefaultValue

public Object getDefaultValue(int subtypeCode,
                              String fieldName)
                       throws IOException,
                              AutomationException
The default value for the associated attribute.

Product Availability

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

Specified by:
getDefaultValue in interface ISubtypes
Parameters:
subtypeCode - The subtypeCode (in)
fieldName - The fieldName (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDefaultValue

public void setDefaultValue(int subtypeCode,
                            String fieldName,
                            Object value)
                     throws IOException,
                            AutomationException
The default value for the associated attribute.

Product Availability

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

Specified by:
setDefaultValue in interface ISubtypes
Parameters:
subtypeCode - The subtypeCode (in)
fieldName - The fieldName (in)
value - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDomain

public IDomain getDomain(int subtypeCode,
                         String fieldName)
                  throws IOException,
                         AutomationException
The domain given the subtype and field.

Product Availability

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

Specified by:
getDomain in interface ISubtypes
Parameters:
subtypeCode - The subtypeCode (in)
fieldName - The fieldName (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDomain
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDomainByRef

public void setDomainByRef(int subtypeCode,
                           String fieldName,
                           IDomain domain)
                    throws IOException,
                           AutomationException
The domain given the subtype and field.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setDomainByRef in interface ISubtypes
Parameters:
subtypeCode - The subtypeCode (in)
fieldName - The fieldName (in)
domain - A reference to a com.esri.arcgis.geodatabase.IDomain (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubtypeFieldName

public String getSubtypeFieldName()
                           throws IOException,
                                  AutomationException
The subtype field name.

Remarks

The 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:

Example:

String aPath = "shape path";

String aName = "shape name";

IWorkspaceFactory shapefileFactory = new ShapefileWorkspaceFactory();

IFeatureWorkspace featureWorkspace = 

new IFeatureWorkspaceProxy(shapefileFactory.openFromFile(aPath,0));          

IFeatureClass featureClass = 

new FeatureClassProxy(featureWorkspace.openFeatureClass(aName));

ISubtypes pSubtypes = new ISubtypesProxy(featureClass);

pSubtypes.setSubtypeFieldName("TYPECODE"); 



//The  Subtype field can be  reset by assigning an  empty string to SubtypeFieldName:; 

pSubtypes.setSubtypeFieldName("");     



     

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSubtypeFieldName in interface ISubtypes
Returns:
The fieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSubtypeFieldName

public void setSubtypeFieldName(String fieldName)
                         throws IOException,
                                AutomationException
The subtype field name.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSubtypeFieldName in interface ISubtypes
Parameters:
fieldName - The fieldName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubtypeFieldIndex

public int getSubtypeFieldIndex()
                         throws IOException,
                                AutomationException
The subtype field index.

Description

SubtypeFieldIndex property returns the index of the subtype field.

Remarks

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.

Example:

String aPath = "shape path";

String aName = "shape name";

IWorkspaceFactory shapefileFactory = new ShapefileWorkspaceFactory();

IFeatureWorkspace featureWorkspace = 

new IFeatureWorkspaceProxy(shapefileFactory.openFromFile(aPath,0));

IFeatureClass featureClass = 

new IFeatureClassProxy(featureWorkspace.openFeatureClass(aName));

ISubtypes pSubtypes = new ISubtypesProxy(featureClass);

int subFldIndex = pSubtypes.getSubtypeFieldIndex();

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSubtypeFieldIndex in interface ISubtypes
Returns:
The index
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubtypeName

public String getSubtypeName(int subtypeCode)
                      throws IOException,
                             AutomationException
The subtype name.

Product Availability

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

Specified by:
getSubtypeName in interface ISubtypes
Parameters:
subtypeCode - The subtypeCode (in)
Returns:
The subtypeName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubtypes

public IEnumSubtype getSubtypes()
                         throws IOException,
                                AutomationException
The subtypes associated with the class.

Description

Subtypes returns a IEnumSubtype populated with all of the subtypes for the given object class.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSubtypes in interface ISubtypes
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumSubtype
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addSubtype

public void addSubtype(int subtypeCode,
                       String subtypeName)
                throws IOException,
                       AutomationException
Adds the subtype to the set of associated subtypes.

Description

AddSubtype adds the subtype to the set of subtypes for the given object class with the subtype code and subtype name given.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addSubtype in interface ISubtypes
Parameters:
subtypeCode - The subtypeCode (in)
subtypeName - The subtypeName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteSubtype

public void deleteSubtype(int subtypeCode)
                   throws IOException,
                          AutomationException
Deletes the subtype from the set of associated subtypes.

Description

DeleteSubtype takes the subtype code parameter to remove the subtype from the set of subtypes of the given object class.

Remarks

DeleteSubtype will delete a subtype for the associated object class. Calling DeleteSubtype will also remove any reference to that subtype in the geodatabase.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRules

public IEnumRule getRules()
                   throws IOException,
                          AutomationException
The rules associated with the class.

Description

Rules is a property that returns a IEnumRule object that contains all of the rules associated with the object class.

Remarks

Property Rules returns a IEnumRule enumerator hydrated with all of the rules associated with the object class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRulesByField

public IEnumRule getRulesByField(String fieldName)
                          throws IOException,
                                 AutomationException
The rules associated with the attribute.

Product Availability

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

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

getRulesBySubtypeCode

public IEnumRule getRulesBySubtypeCode(int subtypeCode)
                                throws IOException,
                                       AutomationException
The rules associated with the subtype.

Product Availability

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

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

addRule

public void addRule(IRule rule)
             throws IOException,
                    AutomationException
Adds the rule to the set of associated rules.

Description

This method is deprecated. Use a rule-specific method to add rules (i.e. IClassSchemaEdit.AlterDomain for attribute rules, IGeometricNetwork.AddRule for connectivity rules, IRelationshipClass.AddRelationshipRule for relationship rules).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

deleteRule

public void deleteRule(IRule rule)
                throws IOException,
                       AutomationException
Deletes the rule from the set of associated rules.

Description

This method is deprecated. Use a rule-specific method to delete rules (i.e. IClassSchemaEdit.AlterDomain for attribute rules, IGeometricNetwork.DeleteRule for connectivity rules, IRelationshipClass.DeleteRelationshipRule for relationship rules).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

validate

public ISelectionSet validate(IQueryFilter selection,
                              IWorkspace workspace)
                       throws IOException,
                              AutomationException
Validates the selection.

Description

This method creates a selection set that contains the underlying class' invalid objects.
A query filter can be provided to validate a portion of the class' objects, but passing a null value will evaluate all of the class' objects.
The Workspace parameter indicates where the selection set is to be created. In most cases, a null value can be used, indicating that the class' workspace be used. If necessary, a scratch workspace may also be used.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
validate in interface IValidation
Parameters:
selection - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
workspace - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ISelectionSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

validateSelection

public ISelectionSet validateSelection(ISelectionSet selection,
                                       IWorkspace workspace)
                                throws IOException,
                                       AutomationException
Validates the selection.

Description

This method creates a selection set that contains the underlying class' invalid objects.
A selection set must be passed to the first parameter, indicating that a subset of the class' objects should be evaluated. Unlike the query filter parameter of the Validate method, this parameter requires a valid selection set, and passing a null value will cause the method to fail.
The Workspace parameter indicates where the selection set is to be created. In most cases, a null value can be used, indicating that the class' workspace be used. If necessary, a scratch workspace may also be used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
validateSelection in interface IValidation
Parameters:
selection - A reference to a com.esri.arcgis.geodatabase.ISelectionSet (in)
workspace - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ISelectionSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

validateSet

public ISet validateSet(ISet selection)
                 throws IOException,
                        AutomationException
Validates the set.

Description

ValidateSet function takes the ISet parameter and validates that set based on the rules associated with the object class. It returns a ISet object containing all of the invalid features that it found in that set.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
validateSet in interface IValidation
Parameters:
selection - A reference to a com.esri.arcgis.system.ISet (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.

alterRule

public void alterRule(IRule rule)
               throws IOException,
                      AutomationException
Alter the existing validation rule.

Remarks

The AlterRule method is used to change the characteristics of an existing rule. This is currently implemented to change a subset of properties for connectivity rules only. These properties are:

To alter other properties of a connectivity rule, the rule must be deleted and recreated with the appropriate changes.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getClassID

public void getClassID(GUID[] pClassID)
                throws IOException,
                       AutomationException
getClassID

Description

IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassID in interface IPersist
Parameters:
pClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDirty

public void isDirty()
             throws IOException,
                    AutomationException
isDirty

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDirty in interface IPersistStream
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

load

public void load(IStream pstm)
          throws IOException,
                 AutomationException
load

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
load in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

save

public void save(IStream pstm,
                 int fClearDirty)
          throws IOException,
                 AutomationException
save

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
save in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
fClearDirty - The fClearDirty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeMax

public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
                throws IOException,
                       AutomationException
getSizeMax

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSupportedAtVersion

public boolean isSupportedAtVersion(int docVersion)
                             throws IOException,
                                    AutomationException
Is this object valid at the given document version.

Remarks

Use IsSupportedAtVersion to identify if a particular object should be saved to the ObjectStream. This result is based on the esriArcGISVersion enumeration. In some instances, if the object is not supported at a particular ArcGIS version, the object may support conversion to another similar object; use IDocumentVersionSupportGEN::ConvertToSupportedObject to accomplish this.

Product Availability

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

Specified by:
isSupportedAtVersion in interface IDocumentVersionSupportGEN
Parameters:
docVersion - A com.esri.arcgis.system.esriArcGISVersion constant (in)
Returns:
The supported
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

convertToSupportedObject

public Object convertToSupportedObject(int docVersion)
                                throws IOException,
                                       AutomationException
Convert the object to another object that is supported.

Remarks

This method should be used when IDocumentVersionSupportGEN::IsSupportedAtVersion returns FALSE. Calling ConvertToSupportedObject will return an IUnknown pointer to a relevant object supported at the particular ArcGIS version. Not all objects will return a supported object; in these cases a null pointer will be returned.

Product Availability

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

Specified by:
convertToSupportedObject in interface IDocumentVersionSupportGEN
Parameters:
docVersion - A com.esri.arcgis.system.esriArcGISVersion constant (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFirstTrackId

public String getFirstTrackId()
                       throws IOException,
                              AutomationException
Retrives the first Track ID in the list.

Product Availability

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

Specified by:
getFirstTrackId in interface ITxEnumTrackId
Returns:
The trackId
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNextTrackId

public String getNextTrackId()
                      throws IOException,
                             AutomationException
Retrives the next Track ID in the list.

Product Availability

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

Specified by:
getNextTrackId in interface ITxEnumTrackId
Returns:
The trackId
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTrackIds

public String[] getTrackIds()
                     throws IOException,
                            AutomationException
Retrives the Track ID list.

Product Availability

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

Specified by:
getTrackIds in interface ITxEnumTrackId
Returns:
The trackIds
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTrackFeatures

public ISelectionSet getTrackFeatures(String trackId)
                               throws IOException,
                                      AutomationException
Returns a selection set of features in a given track.

Product Availability

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

Specified by:
getTrackFeatures in interface ITxEnumTrackId
Parameters:
trackId - The trackId (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ISelectionSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLastUpdateTime

public ITime getLastUpdateTime(String trackId)
                        throws IOException,
                               AutomationException
Returns the time that a given track was last updated.

Product Availability

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

Specified by:
getLastUpdateTime in interface ITxEnumTrackId
Parameters:
trackId - The trackId (in)
Returns:
A reference to a com.esri.arcgis.system.ITime
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryTrackTimeExtent

public void queryTrackTimeExtent(String trackId,
                                 ITime[] startTime,
                                 ITime[] endTime)
                          throws IOException,
                                 AutomationException
Returns the start and end times of a given track.

Product Availability

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

Specified by:
queryTrackTimeExtent in interface ITxEnumTrackId
Parameters:
trackId - The trackId (in)
startTime - A reference to a com.esri.arcgis.system.ITime (out: use single element array)
endTime - A reference to a com.esri.arcgis.system.ITime (out: use single element array)
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
Throws:
IOException

readExternal

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