|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.schematic.SchematicElementClass
public class SchematicElementClass
Schematic element class object.
Constructor Summary | |
---|---|
SchematicElementClass(Object obj)
Construct a SchematicElementClass 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 |
alterAliasName(String name)
The alias name of the object class. |
void |
alterAssociatedObjectClass(ISchematicDataSource schematicDataSource,
int objectClassID)
Changes the associated object class to the schematic element class. |
void |
alterClassExtensionCLSID(IUID classExtensionCLSID,
IPropertySet classExtensionProperties)
Changes the class extension COM class associated with this database class. |
void |
alterClassExtensionProperties(IPropertySet classExtensionProperties)
Changes the class extension properties associated with this object class. |
void |
alterDefaultValue(String fieldName,
Object value)
The default value of the object class field. |
void |
alterDomain(String fieldName,
IDomain domain)
The default domain of the object class field. |
void |
alterFieldAliasName(String fieldName,
String aliasName)
The alias name of the object class field. |
void |
alterFieldModelName(String fieldName,
String modelName)
The model name of the object class field. |
void |
alterInstanceCLSID(IUID instanceCLSID)
Changes the instance COM class associated with this database class. |
void |
alterModelName(String name)
The model name of the object class. |
void |
alterRule(IRule rule)
Alter the existing validation rule. |
void |
alterSchematicAttributeCLSID(String name,
IUID uID)
Changes the schematic attribute CLSID. |
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. |
void |
changeSchemaLock(int schemaLock)
Changes a schema lock. |
IDataset |
copy(String copyName,
IWorkspace copyWorkspace)
Copies this dataset to a new dataset with the specified name. |
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. |
ISchematicAttribute |
createSchematicAttribute(String name,
IUID uID)
Creates a schematic in memory attribute. |
ISchematicElement |
createSchematicElement(String name,
IGeometry geometry,
ISchematicDiagram schematicDiagram)
Creates a new schematic element in the specified schematic diagram. |
void |
delete()
Deletes this dataset. |
void |
delete(boolean deleteDescendants)
Deletes the schematic object class. |
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 |
IClass |
esri_getClass()
The class for this class helper. |
int |
findField(String name)
The index of the field with the specified name. |
String |
getAliasName()
The alias name of the object class. |
ISchematicDataSource |
getAssociatedObjectClassDataSource()
The associated schematic data source to the schematic element class. |
int |
getAssociatedObjectClassDataSourceID()
The associated object class data source ID to the schematic element class. |
int |
getAssociatedObjectClassID()
The associated object class ID to the schematic element class. |
IEnumSchematicDiagramClass |
getAssociatedSchematicDiagramClasses()
Associated diagram classes to the schematic element class. |
String |
getBrowseName()
The browse name of the dataset. |
String |
getCategory()
The category of the dataset. |
IUID |
getCLSID()
The GUID for the COM Class (CoClass) corresponding to instances of this object class. |
void |
getCurrentSchemaLocks(IEnumSchemaLockInfo[] schemaLockInfo)
The list of current locks. |
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. |
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. |
int |
getExternalQueryEvaluationMode()
External query evaluation mode of the schematic object class. |
IFields |
getFields()
The fields collection for this object class. |
IName |
getFullName()
The associated name object. |
int |
getGeometryType()
Geometry type of the schematic element class. |
Object |
getIdentifierFieldNames()
Identifier fields names of the schematic object class. |
IIndexes |
getIndexes()
The indexes collection for this object class. |
IPropertySet |
getMetadata()
The PropertySet containing metadata. |
String |
getModelName()
The model name of the field. |
String |
getName()
Name of the schematic object class. |
int |
getObjectClassID()
The unique ID for the object class. |
String |
getOIDFieldName()
The name of the field corresponding to the OID. |
ISchematicElementClass |
getParent()
Parent to the schematic element class. |
String[] |
getPredefinedAttributeNames()
Predefined attributes names of the schematic in memory object class. |
IPropertySet |
getPropertySet()
The set of properties for the dataset. |
String |
getQueryString()
Query string of the schematic object class. |
IUID |
getRelationManagerCLSID()
Relation manager CLSID of the schematic element class. |
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. |
ISchematicAttribute |
getSchematicAttribute(String name,
boolean recursiveSearch)
Retrives recursively or not the schematic attribute referenced by the specified Name. |
IEnumSchematicAttribute |
getSchematicAttributes()
Schematic attributes enumeration within the schematic attribute container. |
ISchematicDataset |
getSchematicDataset()
Schematic dataset the schematic object class belongs to. |
ISchematicDataSource |
getSchematicDataSource()
Schematic data source of the schematic object class. |
ISchematicElementAssociation |
getSchematicElementAssociationByID(int iD)
Schematic element association referenced by the specified ID. |
IEnumSchematicElementAssociation |
getSchematicElementAssociations()
Schematic element associations enumeration within the container. |
ISchematicElement |
getSchematicElementByID(int iD,
ISchematicDiagram schematicDiagram)
Schematic element referenced by the specified ID that is contained in the specified schematic diagram. |
ISchematicElement |
getSchematicElementByName(String name,
ISchematicDiagram schematicDiagram)
Schematic element referenced by the specified Name that is contained in the specified schematic diagram. |
ISchematicElementClass |
getSchematicElementClass(String name)
Schematic diagram class referenced by the specified Name. |
IEnumSchematicElementClass |
getSchematicElementClasses()
Schematic element classes enumeration within the schematic element class container. |
IEnumSchematicElement |
getSchematicElements(ISchematicDiagram schematicDiagram)
List of the schematic elements related to the schematic element class within the specified schematic diagram. |
int |
getSchematicElementType()
Schematic element type related to the schematic element class. |
ISchematicObjectClass |
getSchematicObjectClass(String name)
Schematic object class referenced by the specified Name. |
IEnumSchematicObjectClass |
getSchematicObjectClasses()
Schematic object classes enumeration within the schematic object class container. |
IEnumSchematicQueryParameter |
getSchematicQueryParameters()
Schematic query parameters of the schematic object class. |
IField |
getShapeField()
Shape field of the schematic element class. |
ISpatialReference |
getSpatialReference()
The spatial reference of the GeoDataset. |
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. |
int |
getType()
The type of the Dataset. |
IWorkspace |
getWorkspace()
The workspace containing this dataset. |
int |
hashCode()
the hashcode for this object |
ICursor |
insert(boolean useBuffering)
Returns a cursor that can be used to insert new Rows. |
boolean |
isBeingEdited()
True if the dataset is being edited. |
boolean |
isCanEdit()
True if the dataset supports edit sessions with the ability to discard edits on save. |
boolean |
isCanEditMetadata()
Indicates if metadata can be edited. |
boolean |
isCanRedo()
True if the dataset supports edit sessions with the ability to redo undone operations. |
boolean |
isCanSelect()
Indicates if the table supports selection. |
boolean |
isCanUndo()
True if the dataset supports edit sessions with the ability to undo individual edit operations. |
boolean |
isHasOID()
Indicates if the class has an object identity (OID) field. |
boolean |
isHasSubtype()
Indicates if the table has subtypes. |
ICursor |
ITable_search(IQueryFilter queryFilter,
boolean recycling)
An object cursor that can be used to fetch row objects selected by the specified query. |
int |
registerAsObjectClass(String suggestedOIDFieldName,
String configKeyword)
Registers this class with the database, assigning it a class id and creating an object id column. |
void |
rename(String name)
Renames this Dataset. |
int |
rowCount(IQueryFilter queryFilter)
The number of Rows selected by the specified query. |
ISelectionSet |
select(IQueryFilter queryFilter,
int selType,
int selOption,
IWorkspace selectionContainer)
A selection that contains the object ids selected by the specified query. |
void |
setBrowseName(String name)
The browse name of the dataset. |
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 |
setExternalQueryEvaluationMode(int externalQueryEvaluationMode)
External query evaluation mode of the schematic object class. |
void |
setGeometryType(int geometryType)
Geometry type of the schematic element class. |
void |
setIdentifierFieldNames(Object names)
Identifier fields names of the schematic object class. |
void |
setMetadata(IPropertySet ppPropertySet)
The PropertySet containing metadata. |
void |
setModelName(String name)
The model name of the field. |
void |
setName(String name)
Name of the schematic object class. |
void |
setParentByRef(ISchematicElementClass parent)
Parent to the schematic element class. |
void |
setQueryString(String queryString)
Query string of the schematic object class. |
void |
setRelationManagerCLSID(IUID uID)
Relation manager CLSID of the schematic element class. |
void |
setSchematicDataSourceByRef(ISchematicDataSource schematicDataSource)
Schematic data source of the schematic object class. |
void |
setSchematicQueryParameters(IEnumSchematicQueryParameter queryParameters)
Schematic query parameters of the schematic object class. |
void |
setShapeField(IField field)
Shape field of the schematic element class. |
void |
setSubtypeFieldName(String fieldName)
The subtype field name. |
void |
synchronize(int action,
int interval)
Updates metadata with the current properties; may create metadata if it doesn't already exist. |
ICursor |
update(IQueryFilter queryFilter,
boolean recycling)
Returns a cursor that can be used to update Rows selected by the specified query. |
void |
updateSearchedRows(IQueryFilter queryFilter,
IRowBuffer buffer)
Update the Rows in the database selected by the specified query. |
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. |
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 |
---|
public SchematicElementClass(Object obj) throws IOException
obj
to SchematicElementClass
. *
SchematicElementClass o = (SchematicElementClass)obj; // will not work
SchematicElementClass o = new SchematicElementClass(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server
IOException
- if there are interop problems
SchematicElementClass theSchematicElementClass = (SchematicElementClass) obj;
Method Detail |
---|
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public ISchematicElement createSchematicElement(String name, IGeometry geometry, ISchematicDiagram schematicDiagram) throws IOException, AutomationException
createSchematicElement
in interface ISchematicElementClass
name
- The name (in)geometry
- A reference to a com.esri.arcgis.geometry.IGeometry (in)schematicDiagram
- A reference to a com.esri.arcgis.schematic.ISchematicDiagram (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumSchematicElement getSchematicElements(ISchematicDiagram schematicDiagram) throws IOException, AutomationException
getSchematicElements
in interface ISchematicElementClass
schematicDiagram
- A reference to a com.esri.arcgis.schematic.ISchematicDiagram (in, optional, pass 0 if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISchematicElement getSchematicElementByID(int iD, ISchematicDiagram schematicDiagram) throws IOException, AutomationException
getSchematicElementByID
in interface ISchematicElementClass
iD
- The iD (in)schematicDiagram
- A reference to a com.esri.arcgis.schematic.ISchematicDiagram (in, optional, pass 0 if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISchematicElement getSchematicElementByName(String name, ISchematicDiagram schematicDiagram) throws IOException, AutomationException
getSchematicElementByName
in interface ISchematicElementClass
name
- The name (in)schematicDiagram
- A reference to a com.esri.arcgis.schematic.ISchematicDiagram (in, optional, pass 0 if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getSchematicElementType() throws IOException, AutomationException
getSchematicElementType
in interface ISchematicElementClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getGeometryType() throws IOException, AutomationException
getGeometryType
in interface ISchematicElementClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setGeometryType(int geometryType) throws IOException, AutomationException
setGeometryType
in interface ISchematicElementClass
geometryType
- A com.esri.arcgis.geometry.esriGeometryType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IField getShapeField() throws IOException, AutomationException
getShapeField
in interface ISchematicElementClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setShapeField(IField field) throws IOException, AutomationException
setShapeField
in interface ISchematicElementClass
field
- A reference to a com.esri.arcgis.geodatabase.IField (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISchematicElementClass getParent() throws IOException, AutomationException
getParent
in interface ISchematicElementClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setParentByRef(ISchematicElementClass parent) throws IOException, AutomationException
setParentByRef
in interface ISchematicElementClass
parent
- A reference to a com.esri.arcgis.schematic.ISchematicElementClass (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumSchematicDiagramClass getAssociatedSchematicDiagramClasses() throws IOException, AutomationException
getAssociatedSchematicDiagramClasses
in interface ISchematicElementClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IUID getRelationManagerCLSID() throws IOException, AutomationException
getRelationManagerCLSID
in interface ISchematicElementClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setRelationManagerCLSID(IUID uID) throws IOException, AutomationException
setRelationManagerCLSID
in interface ISchematicElementClass
uID
- A reference to a com.esri.arcgis.system.IUID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getAssociatedObjectClassID() throws IOException, AutomationException
getAssociatedObjectClassID
in interface ISchematicElementClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getAssociatedObjectClassDataSourceID() throws IOException, AutomationException
getAssociatedObjectClassDataSourceID
in interface ISchematicElementClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISchematicDataSource getAssociatedObjectClassDataSource() throws IOException, AutomationException
getAssociatedObjectClassDataSource
in interface ISchematicElementClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void alterAssociatedObjectClass(ISchematicDataSource schematicDataSource, int objectClassID) throws IOException, AutomationException
alterAssociatedObjectClass
in interface ISchematicElementClass
schematicDataSource
- A reference to a com.esri.arcgis.schematic.ISchematicDataSource (in)objectClassID
- The objectClassID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getName() throws IOException, AutomationException
getName
in interface IDataset
getName
in interface ISchematicObjectClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setName(String name) throws IOException, AutomationException
setName
in interface ISchematicObjectClass
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISchematicDataset getSchematicDataset() throws IOException, AutomationException
getSchematicDataset
in interface ISchematicObjectClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumSchematicQueryParameter getSchematicQueryParameters() throws IOException, AutomationException
getSchematicQueryParameters
in interface ISchematicObjectClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setSchematicQueryParameters(IEnumSchematicQueryParameter queryParameters) throws IOException, AutomationException
setSchematicQueryParameters
in interface ISchematicObjectClass
queryParameters
- A reference to a com.esri.arcgis.schematic.IEnumSchematicQueryParameter (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getQueryString() throws IOException, AutomationException
getQueryString
in interface ISchematicObjectClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setQueryString(String queryString) throws IOException, AutomationException
setQueryString
in interface ISchematicObjectClass
queryString
- The queryString (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object getIdentifierFieldNames() throws IOException, AutomationException
getIdentifierFieldNames
in interface ISchematicObjectClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setIdentifierFieldNames(Object names) throws IOException, AutomationException
setIdentifierFieldNames
in interface ISchematicObjectClass
names
- A Variant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISchematicDataSource getSchematicDataSource() throws IOException, AutomationException
getSchematicDataSource
in interface ISchematicObjectClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setSchematicDataSourceByRef(ISchematicDataSource schematicDataSource) throws IOException, AutomationException
setSchematicDataSourceByRef
in interface ISchematicObjectClass
schematicDataSource
- A reference to a com.esri.arcgis.schematic.ISchematicDataSource (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void delete(boolean deleteDescendants) throws IOException, AutomationException
delete
in interface ISchematicObjectClass
deleteDescendants
- The deleteDescendants (in, optional, pass true if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISchematicAttribute createSchematicAttribute(String name, IUID uID) throws IOException, AutomationException
createSchematicAttribute
in interface ISchematicObjectClass
name
- The name (in)uID
- A reference to a com.esri.arcgis.system.IUID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String[] getPredefinedAttributeNames() throws IOException, AutomationException
getPredefinedAttributeNames
in interface ISchematicObjectClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setExternalQueryEvaluationMode(int externalQueryEvaluationMode) throws IOException, AutomationException
setExternalQueryEvaluationMode
in interface ISchematicObjectClass
externalQueryEvaluationMode
- A com.esri.arcgis.schematic.esriSchematicExternalQueryEvaluationMode constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getExternalQueryEvaluationMode() throws IOException, AutomationException
getExternalQueryEvaluationMode
in interface ISchematicObjectClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IName getFullName() throws IOException, AutomationException
getFullName
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getBrowseName() throws IOException, AutomationException
getBrowseName
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setBrowseName(String name) throws IOException, AutomationException
setBrowseName
in interface IDataset
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getType() throws IOException, AutomationException
// 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());
getType
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getCategory() throws IOException, AutomationException
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.
getCategory
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumDataset getSubsets() throws IOException, AutomationException
The Subsets property returns other Dataset objects contained in this dataset.
IDataset::Subsets is not supported for Graph objects such as a Geometric Network. To return the feature classes contained in a Geometric Network, use the IFeatureClassContainer interface.
getSubsets
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IWorkspace getWorkspace() throws IOException, AutomationException
The Workspace property returns the containing workspace for this dataset.
getWorkspace
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPropertySet getPropertySet() throws IOException, AutomationException
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.
Examples of intrinsic properties for which explicit methods exist include the SpatialReference and the Extent methods available on the IGeoDataset interface. In most cases this PropertySet will be empty.
IDataset::PropertySet is not supported for Graph objects such as a Geometric Network.
getPropertySet
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canCopy() throws IOException, AutomationException
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:
canCopy
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDataset copy(String copyName, IWorkspace copyWorkspace) throws IOException, AutomationException
IDataset::Copy should only be used with datasets from file-based data sources, such as shapefiles and coverages.
copy
in interface IDataset
copyName
- The copyName (in)copyWorkspace
- A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canDelete() throws IOException, AutomationException
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.
canDelete
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void delete() throws IOException, AutomationException
Certain feature classes, such as network and topology feature classes, cannot be deleted until their containing objects are deleted.
delete
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canRename() throws IOException, AutomationException
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.
canRename
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void rename(String name) throws IOException, AutomationException
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.
rename
in interface IDataset
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISpatialReference getSpatialReference() throws IOException, AutomationException
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.
getSpatialReference
in interface IGeoDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnvelope getExtent() throws IOException, AutomationException
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.
If a portion of the features were then deleted and the extent is again requested an envelope with the exact same extents as during the first request would be returned (see image below). This is because the deletion of features does not shrink the extent. However all additions of features outside the red box would increase the envelope returned to encompass the newly added features.
If you would like to update the IGeoDataset::Extent property to reflect the current features in your dataset please see IFeatureClassManage::UpdateExtent (also see IFeatureClassLoad). In the image below the extent has been updated and a new envelope is being returned.
ESRI's GroupLayer implements this property differently from most other layer coclasses. When you instantiate a new GroupLayer, this property will return a valid envelope with zero height and width. With most other newly instantiated layers (for example FeatureLayer, RasterLayer, TinLayer), this property initally returns Nothing.
getExtent
in interface IGeoDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isBeingEdited() throws IOException, AutomationException
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).
isBeingEdited
in interface IDatasetEdit
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCanEdit() throws IOException, AutomationException
This property is to be used within an active edit session, results cannot be guaranteed if called on a dataset outside of an edit session.
isCanEdit
in interface IDatasetEditInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCanUndo() throws IOException, AutomationException
isCanUndo
in interface IDatasetEditInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCanRedo() throws IOException, AutomationException
isCanRedo
in interface IDatasetEditInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int findField(String name) throws IOException, AutomationException
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.
findField
in interface IClass
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFields getFields() throws IOException, AutomationException
getFields
in interface IClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IIndexes getIndexes() throws IOException, AutomationException
getIndexes
in interface IClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void addField(IField field) throws IOException, AutomationException
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.
addField
in interface IClass
field
- A reference to a com.esri.arcgis.geodatabase.IField (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deleteField(IField field) throws IOException, AutomationException
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.
// 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);
deleteField
in interface IClass
field
- A reference to a com.esri.arcgis.geodatabase.IField (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void addIndex(IIndex index) throws IOException, AutomationException
Prior to adding a new index to a class, an exclusive schema lock should be obtained using the ISchemaLock interface.
addIndex
in interface IClass
index
- A reference to a com.esri.arcgis.geodatabase.IIndex (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deleteIndex(IIndex index) throws IOException, AutomationException
Prior to deleting an index from a class, an exclusive schema lock should be obtained using the ISchemaLock interface.
deleteIndex
in interface IClass
index
- A reference to a com.esri.arcgis.geodatabase.IIndex (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isHasOID() throws IOException, AutomationException
isHasOID
in interface IClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getOIDFieldName() throws IOException, AutomationException
getOIDFieldName
in interface IClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IUID getCLSID() throws IOException, AutomationException
getCLSID
in interface IClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IUID getEXTCLSID() throws IOException, AutomationException
getEXTCLSID
in interface IClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object getExtension() throws IOException, AutomationException
getExtension
in interface IClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPropertySet getExtensionProperties() throws IOException, AutomationException
getExtensionProperties
in interface IClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int registerAsObjectClass(String suggestedOIDFieldName, String configKeyword) throws IOException, AutomationException
The RegisterAsObjectClass method will register a table or feature class (ArcSDE layer) in the database with the Geodatabase. The act of registering the data as an object class will create records for the object class in the Geodatabase system tables and assign the object class a unique ID. Once a table or SDE layer is registered as an object class, it can participate in rules, topological relationships and relationships.
When registering a table or ArcSDE layer as an object class, an ObjectID field must be added to it. This field will contain the object IDs which uniquely identify each feature in the class. The object IDs for existing data will automatically be generated. Once a table or ArcSDE layer has been registered as an object class in the Geodatabase, it cannot be unregistered.
RegisterAsObjectClass takes two arguments: the name of the object ID field, and the ArcSDE configuration keyword to use for storage of the new data that is inserted into the object ID field. RegisterAsObjectClass returns a long which is the object class ID assigned to the newly registered class.
registerAsObjectClass
in interface IClassSchemaEdit
suggestedOIDFieldName
- The suggestedOIDFieldName (in)configKeyword
- The configKeyword (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IObjectClass
public void alterInstanceCLSID(IUID instanceCLSID) throws IOException, AutomationException
The AlterInstanceCLSID is used to change the behavior class for an object class in the Geodatabase. For example, you may have a class that stores simple feature objects and you want to change it to implement a custom object that you have developed. You use the AlterInstanceCLSID to do so.
AlterInstanceCLSID will try to instantiate the object for the CLSID that you provide. If it fails to instantiate it, the method will fail. Therefore, you must have the DLL which has the implementation of your custom object registered on your system before you call AlterInstanceCLSID.
Before you QI for AlterInstanceCLSID, you will have had to open the object class. So, if this fails because you no longer have the DLL registered on your system, then you must use the IFeatureWorkspaceSchemaEdit interface to alter the instance CLSID.
No additional checking is done beyond instantiating the instance object. If the object class does not have the fields required for supporting the custom object then your class may not function with its new instance CLSID.
alterInstanceCLSID
in interface IClassSchemaEdit
instanceCLSID
- A reference to a com.esri.arcgis.system.IUID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void alterClassExtensionCLSID(IUID classExtensionCLSID, IPropertySet classExtensionProperties) throws IOException, AutomationException
The AlterClassExtensionCLSID method is used to change the class extension for an object class in the Geodatabase. For example, you may have a class to which you want to associate a class extension that you have developed. You use the AlterClassExtensionCLSID to do so.
AlterClassExtensionCLSID will try to instantiate the object for the class extension that you provide. If it fails to instantiate it, the method will fail. Therefore, you must have the DLL which has the implementation of your class extension registered on your system before you call AlterClassExtensionCLSID.
Before you QI for AlterClassExtensionCLSID, you will have had to open the object class. So, if this fails because you no longer have the DLL registered on your system for a class extension that is already associated with the class, then you must use the IFeatureWorkspaceSchemaEdit interface to alter the class extension CLSID.
alterClassExtensionCLSID
in interface IClassSchemaEdit
classExtensionCLSID
- A reference to a com.esri.arcgis.system.IUID (in)classExtensionProperties
- A reference to a com.esri.arcgis.system.IPropertySet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void alterAliasName(String name) throws IOException, AutomationException
Alters the alias name for the object class.
Object classes in a Geodatabase can have between one and three names. The name of the object class, which is the same as the name of the table in the DBMS in which the objects in the object class are stored, the alias name which the user can set for display purposes in end user applications. The third name is the model name which is a tool for developers of custom objects to use to guarantee the names of objects independent of the true name or alias name.
The AlterAliasName method sets the alias name for the object class. The alias name can be returned using the IObjectClass interface.
alterAliasName
in interface IClassSchemaEdit
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IObjectClass
public void alterFieldAliasName(String fieldName, String aliasName) throws IOException, AutomationException
Alters the alias name for a field in the object class.
Fields in object classes in a Geodatabase can have between one and three names. The name of the field, which is the same as the name of the field in 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 fields independent of the true name or alias name.
The AlterFieldAliasName method sets the alias name for a field in the object class. The alias name can be returned using the IField interface.
alterFieldAliasName
in interface IClassSchemaEdit
fieldName
- The fieldName (in)aliasName
- The aliasName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IField
public void alterModelName(String name) throws IOException, AutomationException
Alters the model name for the object class.
Object classes in a Geodatabase can have between one and three names. The name of the object class, which is the same as the name of the table in the DBMS in which the objects in the object class are stored, the alias name which the user can set for display purposes in end user applications. The third name is the model name which is a tool for developers of custom objects to use to guarantee the names of objects independent of the true name or alias name.
The AlterModelName method sets the model name for the object class. The model name can be returned using the IModelInfo interface.
alterModelName
in interface IClassSchemaEdit
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void alterFieldModelName(String fieldName, String modelName) throws IOException, AutomationException
Alters the model name for a field in the object class.
Fields in object classes in a Geodatabase can have between one and three names. The name of the field, which is the same as the name of the field in 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 fields independent of the true name or alias name.
The AlterFieldModelName method sets the model name for a field in the object class. The model name can be returned using the IModelInfo interface.
alterFieldModelName
in interface IClassSchemaEdit
fieldName
- The fieldName (in)modelName
- The modelName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IField
public void alterDomain(String fieldName, IDomain domain) throws IOException, AutomationException
Domains are used in the Geodatabase to validate the contents of fields in an object class. For example, you can use a domain to specify a valid range of values, or a valid set of values for a particular field in an object class. You can assign domains to a field in an object class at either the class level, or the subtype level. The AlterDomain method on IClassSchemaEdit allows you to set a domain for a field at the class level.
AlterDomain takes as arguments the name of the field you want to associate a domain with as a string, and the domain you are associating as an IDomain. You can get an enumeration of domains in a workspace by calling the Domains or DomainsByFieldType methods on the IWorkspaceDomains interface.
Once a domain is associated with a field in your object class, the values in that field will be validated against that domain when a row in the object class is validated with the IValidate interface, or the Validate Selection command in the Editor.
alterDomain
in interface IClassSchemaEdit
fieldName
- The fieldName (in)domain
- A reference to a com.esri.arcgis.geodatabase.IDomain (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IField
public void alterDefaultValue(String fieldName, Object value) throws IOException, AutomationException
You can assign a default value to a field in an object class at either the class level, or the subtype level. The AlterDefaultValue method on IClassSchemaEdit allows you to set a default value for a field at the class level.
AlterDefaultValue takes as arguments the name of the field you want to associate a default value with as a string, and the default value you are associating as a variant. AlterDefaultValue will fail if the default value cannot be stored in the field.
Once a default value is associated with a field in your object class, you can use the InitDefaultValues method on IRowSubtypes to populate the fields in a object in your object class with its default value. This method is most often called after you have created a new feature or object in the object class, and before storing it.
alterDefaultValue
in interface IClassSchemaEdit
fieldName
- The fieldName (in)value
- A Variant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IField
public void alterClassExtensionProperties(IPropertySet classExtensionProperties) throws IOException, AutomationException
The AlterClassExtensionProperties method is used to change the class extension properties for an object class in the Geodatabase that already has a class extension associated with it.
AlterClassExtensionProperties takes as an argument the new properties for the class extension as an IPropertySet.
alterClassExtensionProperties
in interface IClassSchemaEdit2
classExtensionProperties
- A reference to a com.esri.arcgis.system.IPropertySet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IPropertySet
public IRow createRow() throws IOException, AutomationException
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.
createRow
in interface ITable
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRow getRow(int oID) throws IOException, AutomationException
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.
getRow
in interface ITable
oID
- The oID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ICursor getRows(Object oids, boolean recycling) throws IOException, AutomationException
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:
// Get a recycling cursor for the OID array.
int[] oids = new int[] { 10844, 10853, 10871 };
ICursor cursor = table.getRows(oids, true);
getRows
in interface ITable
oids
- A Variant (in)recycling
- The recycling (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRowBuffer createRowBuffer() throws IOException, AutomationException
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.
createRowBuffer
in interface ITable
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void updateSearchedRows(IQueryFilter queryFilter, IRowBuffer buffer) throws IOException, AutomationException
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.
updateSearchedRows
in interface ITable
queryFilter
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)buffer
- A reference to a com.esri.arcgis.geodatabase.IRowBuffer (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deleteSearchedRows(IQueryFilter queryFilter) throws IOException, AutomationException
deleteSearchedRows
in interface ITable
queryFilter
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int rowCount(IQueryFilter queryFilter) throws IOException, AutomationException
rowCount
in interface ITable
queryFilter
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ICursor ITable_search(IQueryFilter queryFilter, boolean recycling) throws IOException, AutomationException
ITable_search
in interface ITable
queryFilter
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)recycling
- The recycling (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ICursor update(IQueryFilter queryFilter, boolean recycling) throws IOException, AutomationException
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.
update
in interface ITable
queryFilter
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)recycling
- The recycling (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ICursor insert(boolean useBuffering) throws IOException, AutomationException
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.
insert
in interface ITable
useBuffering
- The useBuffering (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISelectionSet select(IQueryFilter queryFilter, int selType, int selOption, IWorkspace selectionContainer) throws IOException, AutomationException
The Select method returns a selection set that holds either row IDs or row objects from the Table depending on the selection option. Multiple selection sets can be created on the same table. It is up to a client application or object to keep a reference on created selections and use them as appropriate. For example, a FeatureLayer creates and uses selections on a FeatureClass (a type of Table).
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.
select
in interface ITable
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCanSelect() throws IOException, AutomationException
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.
isCanSelect
in interface ITableCapabilities
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getModelName() throws IOException, AutomationException
Returns the model name currently associated with the field or object class.
getModelName
in interface IModelInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IObjectClass
,
IField
public void setModelName(String name) throws IOException, AutomationException
setModelName
in interface IModelInfo
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IObjectClass
,
IField
public void changeSchemaLock(int schemaLock) throws IOException, AutomationException
changeSchemaLock
in interface ISchemaLock
schemaLock
- A com.esri.arcgis.geodatabase.esriSchemaLock constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getCurrentSchemaLocks(IEnumSchemaLockInfo[] schemaLockInfo) throws IOException, AutomationException
The ISchemaLockInfo interface is used in concert with ISchemaLock to provide information about a schema lock, for example, whether it is shared or exclusive and for ArcSDE geodatabases, the name of the user who has the lock. Note that there will always be at least one schema lock on the dataset. Also note that by checking the schema locks on a dataset a shared schema lock is applied to the data.
getCurrentSchemaLocks
in interface ISchemaLock
schemaLockInfo
- A reference to a com.esri.arcgis.geodatabase.IEnumSchemaLockInfo (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getObjectClassID() throws IOException, AutomationException
Returns the unique ID of the object class.
Each feature class or table registered with the geodatabase is an object class. Object classes have a unique ID which distinguishes them from other object classes in the geodatabase. The ObjectClassID property returns this ID as a long. The object class ID is assigned by the system when the class is created, or registered with the geodatabase, it cannot be modified.
Those feature classes and tables that are in the database, but not registered with the geodatabase will always have an object class ID of -1.
getObjectClassID
in interface IObjectClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumRelationshipClass getRelationshipClasses(int role) throws IOException, AutomationException
getRelationshipClasses
in interface IObjectClass
role
- A com.esri.arcgis.geodatabase.esriRelRole constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getAliasName() throws IOException, AutomationException
Returns the alias name for the object class.
Object classes in a geodatabase can have between one and three names. The name of the object class, which is the same as the name of the table in the DBMS in which the objects in the object class are stored, the alias name which the user can set for display purposes in end user applications. The third name is the model name which is a tool for developers of custom objects to use to guarantee the names of objects independent of the true name or alias name.
The AliasName property returns the alias name for the object class. If the object class has no alias name, then AliasName will return the name of the object class (fully qualified if on ArcSDE). The alias name can be modified using the IClassSchemEdit interface.
getAliasName
in interface IObjectClass
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canBypassStoreMethod() throws IOException, AutomationException
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.
canBypassStoreMethod
in interface IObjectClassInfo
canBypassStoreMethod
in interface IObjectClassInfo2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canBypassEditSession() throws IOException, AutomationException
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.
canBypassEditSession
in interface IObjectClassInfo2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isHasSubtype() throws IOException, AutomationException
HasSubtype property returns a boolean value whether the given object class has subypes or not.
This property returns a boolean value indicating if the object class has subtypes defined. If there are no subtypes defined, it returns FALSE , if there are subypes defined it returns TRUE.
isHasSubtype
in interface ISubtypes
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getDefaultSubtypeCode() throws IOException, AutomationException
DefaultSubtypeCode property sets and returns the default subtype code for the given object class.
This property sets or returns the value of the default subtype code for the associated class.
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();
getDefaultSubtypeCode
in interface ISubtypes
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setDefaultSubtypeCode(int subtypeCode) throws IOException, AutomationException
DefaultSubtypeCode property sets the default subtype code for the given object class.
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();
setDefaultSubtypeCode
in interface ISubtypes
subtypeCode
- The subtypeCode (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object getDefaultValue(int subtypeCode, String fieldName) throws IOException, AutomationException
getDefaultValue
in interface ISubtypes
subtypeCode
- The subtypeCode (in)fieldName
- The fieldName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setDefaultValue(int subtypeCode, String fieldName, Object value) throws IOException, AutomationException
setDefaultValue
in interface ISubtypes
subtypeCode
- The subtypeCode (in)fieldName
- The fieldName (in)value
- A Variant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDomain getDomain(int subtypeCode, String fieldName) throws IOException, AutomationException
getDomain
in interface ISubtypes
subtypeCode
- The subtypeCode (in)fieldName
- The fieldName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setDomainByRef(int subtypeCode, String fieldName, IDomain domain) throws IOException, AutomationException
setDomainByRef
in interface ISubtypes
subtypeCode
- The subtypeCode (in)fieldName
- The fieldName (in)domain
- A reference to a com.esri.arcgis.geodatabase.IDomain (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getSubtypeFieldName() throws IOException, AutomationException
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:
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("");
getSubtypeFieldName
in interface ISubtypes
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setSubtypeFieldName(String fieldName) throws IOException, AutomationException
setSubtypeFieldName
in interface ISubtypes
fieldName
- The fieldName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getSubtypeFieldIndex() throws IOException, AutomationException
SubtypeFieldIndex property returns the index of the subtype field.
This property returns the index of the field in the object class which stores the subtype codes. The field index is returned as a Long.
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();
getSubtypeFieldIndex
in interface ISubtypes
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getSubtypeName(int subtypeCode) throws IOException, AutomationException
getSubtypeName
in interface ISubtypes
subtypeCode
- The subtypeCode (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumSubtype getSubtypes() throws IOException, AutomationException
Subtypes returns a IEnumSubtype populated with all of the subtypes for the given object class.
Every ObjectClass has a default subtype code. If the user has not explicitly specified a default subtype or a subtype field, then DefaultSubtypeCode will return a subtype code of zero. Additionally, you can query the HasSubtype property; a value of False indicates an absence of a default subtype code, True indicates the presence of a default subtype code.
If the client instead asks for the enumeration of subtypes associated with an ObjectClass and no subtype has been previously added to the ObjectClass, then the enumerator will contain a single entry with a code of zero. The subtype field index value will be –1 if a default subtype has not been previously specified. Subtypes may only be short or long integers (esriFieldTypeSmallInteger or esriFieldTypeInteger). When setting the default subtype code, if one already exists, then it will be deleted. A subtype field must have been specified prior to setting the subtype code value.
Every type of field, except for esriFieldTypeShape, may have a default value. When setting the default value (which my be assigned on a subtype basis), it will be checked against the field’s associated Domain (if one exists) for validity.
This property returns all of the subtypes for the associated object class. Subtypes returns an IEnumSubtype enumeration which you can loop through to get all of the subtypes.
getSubtypes
in interface ISubtypes
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void addSubtype(int subtypeCode, String subtypeName) throws IOException, AutomationException
AddSubtype adds the subtype to the set of subtypes for the given object class with the subtype code and subtype name given.
AddSubtype will create a new subtype for the associated object class. This method requires a subtype code as a Long and a subtype name as a String. Before adding subtypes, use the ISubtypes::SubtypeFieldName property to set the subtypes field.
Once created, you can use the ISubtypes::DefaultValue property to set default values for this subtypes fields, and the ISubtypes::Domain property to assign domains to fields for the subtype.
addSubtype
in interface ISubtypes
subtypeCode
- The subtypeCode (in)subtypeName
- The subtypeName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deleteSubtype(int subtypeCode) throws IOException, AutomationException
DeleteSubtype takes the subtype code parameter to remove the subtype from the set of subtypes of the given object class.
DeleteSubtype will delete a subtype for the associated object class. Calling DeleteSubtype will also remove any reference to that subtype in the geodatabase.
deleteSubtype
in interface ISubtypes
subtypeCode
- The subtypeCode (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumRule getRules() throws IOException, AutomationException
getRules
in interface IValidation
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumRule getRulesByField(String fieldName) throws IOException, AutomationException
getRulesByField
in interface IValidation
fieldName
- The fieldName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumRule getRulesBySubtypeCode(int subtypeCode) throws IOException, AutomationException
getRulesBySubtypeCode
in interface IValidation
subtypeCode
- The subtypeCode (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void addRule(IRule rule) throws IOException, AutomationException
addRule
in interface IValidation
rule
- A reference to a com.esri.arcgis.geodatabase.IRule (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deleteRule(IRule rule) throws IOException, AutomationException
deleteRule
in interface IValidation
rule
- A reference to a com.esri.arcgis.geodatabase.IRule (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISelectionSet validate(IQueryFilter selection, IWorkspace workspace) throws IOException, AutomationException
Validate on a row occurs in five steps:
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.
validate
in interface IValidation
selection
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)workspace
- A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISelectionSet validateSelection(ISelectionSet selection, IWorkspace workspace) throws IOException, AutomationException
validateSelection
in interface IValidation
selection
- A reference to a com.esri.arcgis.geodatabase.ISelectionSet (in)workspace
- A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISet validateSet(ISet selection) throws IOException, AutomationException
validateSet
in interface IValidation
selection
- A reference to a com.esri.arcgis.system.ISet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void alterRule(IRule rule) throws IOException, AutomationException
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.
alterRule
in interface IValidation2
rule
- A reference to a com.esri.arcgis.geodatabase.IRule (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPropertySet getMetadata() throws IOException, AutomationException
The variable to hold the data must be of IPropertySet data type.
The metadata property is frequently used to save, or update, changes to metadata documents that have taken place through methods available on the IPropertySet, IXmlPropertySet, and/or IXmlPropertySet2 interfaces.
getMetadata
in interface IMetadata
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMetadata(IPropertySet ppPropertySet) throws IOException, AutomationException
setMetadata
in interface IMetadata
ppPropertySet
- A reference to a com.esri.arcgis.system.IPropertySet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void synchronize(int action, int interval) throws IOException, AutomationException
The Synchronize method is used to extract metadata properties from an object and write those properties to the metadata .xml. Depending on the value of the esriMetaSyncAction, the Synchronize method may generate a new set of metadata if it doesn't already exist.
The following actions will result in synchronization given each of the listed conditions:
Action | Metadata status | Esri/Sync element | Interval parameter |
---|---|---|---|
esriMSAAccessed | Doesn't matter | Must not be FALSE | Must be less than actual interval |
esriMSAAlways | Doesn't matter | Doesn't matter | Doesn't matter |
esriMSACreated | Must not exist | Must not be FALSE | Must be less than actual interval |
esriMSANotCreated | Must exist | Must not be FALSE | Must be less than actual interval |
esriMSAOverwrite | Doesn't matter | Doesn't matter | Doesn't matter |
The difference between esriMSAAlways and esriMSAOverwrite lies in which elements are synchronized. esriMSAAlways will honor the removal or value change of an element's Sync attribute (to disable synchronization), whereas using esriMSAOverwrite is equivalent to setting the IXmlPropertySet2.OverwriteSyncAttribute to true for the metadata's property set, meaning that even elements without a Sync attribute of TRUE will be synchronized.
synchronize
in interface IMetadata
action
- A com.esri.arcgis.geodatabase.esriMetadataSyncAction constant (in)interval
- The interval (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCanEditMetadata() throws IOException, AutomationException
This property is available to those objects that support metadata.
isCanEditMetadata
in interface IMetadataEdit
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumSchematicElementAssociation getSchematicElementAssociations() throws IOException, AutomationException
getSchematicElementAssociations
in interface ISchematicElementAssociationContainer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISchematicElementAssociation getSchematicElementAssociationByID(int iD) throws IOException, AutomationException
getSchematicElementAssociationByID
in interface ISchematicElementAssociationContainer
iD
- The iD (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumSchematicElementClass getSchematicElementClasses() throws IOException, AutomationException
getSchematicElementClasses
in interface ISchematicElementClassContainer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISchematicElementClass getSchematicElementClass(String name) throws IOException, AutomationException
getSchematicElementClass
in interface ISchematicElementClassContainer
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IClass esri_getClass() throws IOException, AutomationException
esri_getClass
in interface IClassHelper
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumSchematicObjectClass getSchematicObjectClasses() throws IOException, AutomationException
getSchematicObjectClasses
in interface ISchematicObjectClassContainer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISchematicObjectClass getSchematicObjectClass(String name) throws IOException, AutomationException
getSchematicObjectClass
in interface ISchematicObjectClassContainer
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void alterSchematicAttributeCLSID(String name, IUID uID) throws IOException, AutomationException
alterSchematicAttributeCLSID
in interface ISchematicAttributeDesign
name
- The name (in)uID
- A reference to a com.esri.arcgis.system.IUID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumSchematicAttribute getSchematicAttributes() throws IOException, AutomationException
getSchematicAttributes
in interface ISchematicAttributeContainer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISchematicAttribute getSchematicAttribute(String name, boolean recursiveSearch) throws IOException, AutomationException
getSchematicAttribute
in interface ISchematicAttributeContainer
name
- The name (in)recursiveSearch
- The recursiveSearch (in, optional, pass false if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |