com.esri.arcgis.schematic
Class SchematicDiagram

java.lang.Object
  extended by com.esri.arcgis.schematic.SchematicDiagram
All Implemented Interfaces:
IDataset, IDatasetEditInfo, IGeoDataset, IMetadata, IMetadataEdit, IObject, IRelatedObjectEvents, IRow, IRowBuffer, IRowChanges, IRowCompare, IRowEdit, IRowEvents, ISchemaLock, IValidate, com.esri.arcgis.interop.RemoteObjRef, ISchematicDataSourceManager, ISchematicDiagram, ISchematicElementContainer, Serializable

public class SchematicDiagram
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IObject, IRow, IRowBuffer, IRowCompare, IRowChanges, IRowEdit, IRowEvents, IDataset, IDatasetEditInfo, IMetadata, IMetadataEdit, ISchemaLock, IRelatedObjectEvents, ISchematicDiagram, ISchematicElementContainer, IGeoDataset, IValidate, ISchematicDataSourceManager

A schematic diagram object.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
SchematicDiagram(Object obj)
          Construct a SchematicDiagram using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void alterBuilderPropertySet(IPropertySet propertySet)
          Changes the builder PropertySet related to the schematic diagram with the new specified builder PropertySet.
 void alterPropertySet(IPropertySet propertySet)
          Changes the Schematic diagram PropertySet with the new specified diagram PropertySet.
 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.
 void delete()
          Deletes the row.
 void deleteSet(ISet rows)
          Deletes the set of rows.
 boolean equals(Object o)
          Compare this object with another
 IObjectClass esri_getClass()
          The Object Class for the row.
 String getBrowseName()
          The browse name of the dataset.
 IPropertySet getBuilderPropertySet()
          Builder PropertySet related to the schematic diagram.
 String getCategory()
          The category of the dataset.
 Date getCreationDate()
          Creation date of the schematic diagram.
 String getCreator()
          Name of the schematic diagram creator.
 void getCurrentSchemaLocks(IEnumSchemaLockInfo[] schemaLockInfo)
          The list of current locks.
 IEnvelope getExtent()
          The extent of the GeoDataset.
 IFields getFields()
          The fields Collection for this row buffer.
 IName getFullName()
          The associated name object.
 IFields getInvalidFields()
          Returns all invalid fields.
 IEnumRule getInvalidRules()
          The set of all invalid rules.
 IEnumRule getInvalidRulesByField(String fieldName)
          The set of all invalid rules for the specified field.
 Date getLastModificationDate()
          Last modification date of the schematic diagram.
 Date getLastUpdateDate()
          Last updating date of the schematic diagram.
 IPropertySet getMetadata()
          The PropertySet containing metadata.
 String getModifiedBy()
          Name of the user that modified the schematic diagram.
 String getName()
          The name of the Dataset.
 int getOID()
          The OID for the row.
 Object getOriginalValue(int index)
          The value of the field at the specified index immediately after the last call to Store on the Row object.
 IPropertySet getPropertySet()
          The set of properties for the dataset.
 ISchematicDiagramClass getSchematicDiagramClass()
          Schematic diagram class related to the schematic diagram.
 ISchematicDiagramContainer getSchematicDiagramContainer()
          Schematic diagram container related to the schematic diagram.
 ISchematicElement getSchematicElementByName(int type, String name)
          Schematic element referenced by the specified Name and related to specified element type.
 IEnumSchematicElement getSchematicElements()
          Schematic elements enumeration within the container.
 IEnumSchematicElement getSchematicElementsByType(int type)
          Schematic elements referenced by the specified element type.
 ISpatialReference getSpatialReference()
          The spatial reference of the GeoDataset.
 IEnumDataset getSubsets()
          Datasets contained within this dataset.
 ITable getTable()
          The Table for the row.
 int getType()
          The type of the Dataset.
 String getUpdatedBy()
          Name of the last user that updated the schematic diagram.
 Object getValue(int index)
          The value of the field with the specified index.
 String getVersion()
          Version of the database used to create the schematic diagram.
 IWorkspace getWorkspace()
          The workspace containing this dataset.
 int hashCode()
          the hashcode for this object
 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 isCanUndo()
          True if the dataset supports edit sessions with the ability to undo individual edit operations.
 boolean isEqual(IRow otherRow)
          Indicates if the rows (which may be from two different versions) are the same (oid + values).
 boolean isHasOID()
          Indicates if the row has an OID.
 boolean isValueChanged(int index)
          Indicates whether the value of the field at the specified index has changed since the last call to Store on the Row object.
 void onChanged()
          An after event that is fired when a custom object is changed.
 void onDelete()
          An after event that is fired when a custom object is deleted.
 void onInitialize()
          An after event that is fired when a custom object is initialized.
 void onNew()
          An after event that is fired when a custom object is Stored for the first time.
 void onValidate()
          An after event that is fired when a custom object is validated.
 void relatedObjectChanged(IRelationshipClass relationshipClass, IObject objectThatChanged)
          Notifies this object that a related object changed.
 void relatedObjectMoved(IRelationshipClass relationshipClass, IObject objectThatChanged, ILine moveVector)
          Notifies this object that a related object moved.
 void relatedObjectRotated(IRelationshipClass relationshipClass, IObject objectThatChanged, IPoint origin, double angle)
          Notifies this object that a related object rotated.
 void relatedObjectSetMoved(IRelationshipClass relationshipClass, ISet objectsThatNeedToChange, ISet objectsThatChanged, ILine moveVector)
          Notifies this object that a set of objects with relationships to the input set of objects moved.
 void relatedObjectSetRotated(IRelationshipClass relationshipClass, ISet objectsThatNeedToChange, ISet objectsThatChanged, IPoint origin, double angle)
          Notifies this object that a set of objects with relationships to the input set of objects rotated.
 void rename(String name)
          Renames this Dataset.
 void replaceDataSource(String initialDataSourceName, String replacingDataSourceName, ITrackCancel trackCancel)
          Replaces a schematic diagram referenced data sources.
 void setBrowseName(String name)
          The browse name of the dataset.
 void setCreationDate(Date date)
          Creation date of the schematic diagram.
 void setCreator(String name)
          Name of the schematic diagram creator.
 void setLastModificationDate(Date date)
          Last modification date of the schematic diagram.
 void setLastUpdateDate(Date date)
          Last updating date of the schematic diagram.
 void setMetadata(IPropertySet ppPropertySet)
          The PropertySet containing metadata.
 void setModifiedBy(String name)
          Name of the user that modified the schematic diagram.
 void setName(String name)
          Name of the schematic diagram.
 void setSchematicDiagramContainerByRef(ISchematicDiagramContainer diagramContainer)
          Schematic diagram container related to the schematic diagram.
 void setUpdatedBy(String name)
          Name of the last user that updated the schematic diagram.
 void setValue(int index, Object value)
          The value of the field with the specified index.
 void setVersion(String versionName)
          Version of the database used to create the schematic diagram.
 void store()
          Stores the row.
 void synchronize(int action, int interval)
          Updates metadata with the current properties; may create metadata if it doesn't already exist.
 boolean validate(String[] errorMessage)
          Validates the row.
 
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

SchematicDiagram

public SchematicDiagram(Object obj)
                 throws IOException
Construct a SchematicDiagram using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to SchematicDiagram.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
SchematicDiagram o = (SchematicDiagram)obj; // will not work

SchematicDiagram o = new SchematicDiagram(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems SchematicDiagram theSchematicDiagram = (SchematicDiagram) obj;
Method Detail

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

esri_getClass

public IObjectClass esri_getClass()
                           throws IOException,
                                  AutomationException
The Object Class for the row.

Product Availability

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

Specified by:
esri_getClass in interface IObject
Returns:
A reference to a com.esri.arcgis.geodatabase.IObjectClass
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 row has an OID.

Remarks

If the table has been registered with the geodatabase it will have unique Object ID, automatically created by the register tool, and the HasOID property will be set to True. Tables not registered with the geodatabase will not have an OID column and the HasOID property will be set to False. See the IClassSchemaEdit::RegisterAsObjectClass method for more information.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getOID

public int getOID()
           throws IOException,
                  AutomationException
The OID for the row.

Description

Gets the OID for a row in a table that has a unique Object ID, such as tables registered with the geodatabase.

Example:

if (pRow.isHasOID()) {

        System.out.print(pRow.getOID());

      }

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getTable

public ITable getTable()
                throws IOException,
                       AutomationException
The Table for the row.

Description

Returns a pointer to the table the row belongs to.

Example:

ITable pTable;

pTable = pRow.getTable();


Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

store

public void store()
           throws IOException,
                  AutomationException
Stores the row.

Remarks

The Store method is called by an application once it has modified the values of a Row. Once Store is called on a Row object, all subsequent queries within the same edit session, using the Geodatabase API, will reflect the modified state of the Row object.

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 Store method triggers the following actions:

- The IRowEvents::OnChanged is called for the row being stored. The OnNew is called if this is a newly created row being stored for the first time. A custom row object can implement the OnChanged method and take some special action when it is called - for example; update a special column in the row

- The IRelatedObjectEvents::RelatedObjectChanged method is called for related objects in a related object class if the table for this row is an object class that participates in relationship classes with notification

Store should not be used for batch operations, such as updates or inserts. For performing a number of inserts or updates using cursors, refer to the ITable::Insert, ITable::Update, ITable::UpdateSearchedRows , IFeatureClass::Update andIFeatureClass::Insert. If an insert or update cursor is used on non-simple features (such as network features), the cursor will revert to using Store.

It is not necessary to explicitly call Connect on network features, this is handled polymorphically when Store is called on the feature. This is also the case with features in a Topology, Dirty Area creation is handled internally when Store is called.

Store should not be called inside of edit events, such as OnCreateFeature, OnChangeFeature or OnDeleteFeature. Even if you are modifying the geometry or other field values, Store will be called once the event is complete.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

delete

public void delete()
            throws IOException,
                   AutomationException
Deletes the row.

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:
delete in interface IDataset
Specified by:
delete in interface IRow
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getValue

public Object getValue(int index)
                throws IOException,
                       AutomationException
The value of the field with the specified index.

Product Availability

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

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

setValue

public void setValue(int index,
                     Object value)
              throws IOException,
                     AutomationException
The value of the field with the specified index.

Product Availability

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

Specified by:
setValue in interface IRowBuffer
Parameters:
index - The index (in)
value - A Variant (in)
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 row buffer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFields in interface IRowBuffer
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.

isEqual

public boolean isEqual(IRow otherRow)
                throws IOException,
                       AutomationException
Indicates if the rows (which may be from two different versions) are the same (oid + values).

Product Availability

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

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

isValueChanged

public boolean isValueChanged(int index)
                       throws IOException,
                              AutomationException
Indicates whether the value of the field at the specified index has changed since the last call to Store on the Row object.

Product Availability

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

Specified by:
isValueChanged in interface IRowChanges
Parameters:
index - The index (in)
Returns:
The changed
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOriginalValue

public Object getOriginalValue(int index)
                        throws IOException,
                               AutomationException
The value of the field at the specified index immediately after the last call to Store on the Row object.

Product Availability

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

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

deleteSet

public void deleteSet(ISet rows)
               throws IOException,
                      AutomationException
Deletes the set of rows.

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:
deleteSet in interface IRowEdit
Parameters:
rows - 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.

onChanged

public void onChanged()
               throws IOException,
                      AutomationException
An after event that is fired when a custom object is changed.

Remarks

The OnChanged method is called by the geodatabase when an application program calls Store on an existing Row object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

onDelete

public void onDelete()
              throws IOException,
                     AutomationException
An after event that is fired when a custom object is deleted.

Remarks

The OnDelete method is called by the geodatabase when an application program calls Delete on a Row object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

onInitialize

public void onInitialize()
                  throws IOException,
                         AutomationException
An after event that is fired when a custom object is initialized.

Remarks

The OnInitialize method is called by the geodatabase after hydrating a cocreated Row object with its state (its set of field values) but before handing the Row to an application program. This is an opportunity for the Row object to initialize further state and derived member variables.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

onNew

public void onNew()
           throws IOException,
                  AutomationException
An after event that is fired when a custom object is Stored for the first time.

Remarks

The OnNew method is called by the geodatabase when an application program calls Store on a newly created Row object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

onValidate

public void onValidate()
                throws IOException,
                       AutomationException
An after event that is fired when a custom object is validated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
onValidate in interface IRowEvents
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
Specified by:
getName in interface ISchematicDiagram
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
Specified by:
getPropertySet in interface ISchematicDiagram
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.

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.

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.

getMetadata

public IPropertySet getMetadata()
                         throws IOException,
                                AutomationException
The PropertySet containing metadata.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMetadata in interface IMetadata
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.

setMetadata

public void setMetadata(IPropertySet ppPropertySet)
                 throws IOException,
                        AutomationException
The PropertySet containing metadata.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

synchronize

public void synchronize(int action,
                        int interval)
                 throws IOException,
                        AutomationException
Updates metadata with the current properties; may create metadata if it doesn't already exist.

Description

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.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
synchronize in interface IMetadata
Parameters:
action - A com.esri.arcgis.geodatabase.esriMetadataSyncAction constant (in)
interval - The interval (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanEditMetadata

public boolean isCanEditMetadata()
                          throws IOException,
                                 AutomationException
Indicates if metadata can be edited.

Remarks

This property is available to those objects that support metadata.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

changeSchemaLock

public void changeSchemaLock(int schemaLock)
                      throws IOException,
                             AutomationException
Changes a schema lock.

Remarks

There are two kinds of schema locks: shared and exclusive. Shared schema locks are applied automatically by the geodatabase when accessing a dataset and are removed when all references to the dataset are removed. For this reason, it's not necessary to explicitly apply or remove shared schema locks. There is no limit to the number of shared schema locks a dataset or object can have at any given time.
In contrast to shared schema locks, exclusive schema locks are controlled by the developer or ArcGIS application, such as ArcMap or ArcCatalog. An exclusive lock is used to lock a geodatabase dataset or object from use by others to make the necessary changes to it. An exclusive lock is promoted from a shared lock and demoted back to a shared lock when no longer needed. The presence of additional shared schema locks on a dataset or object prevents an exclusive schema lock from being applied and precludes the ability to make changes to the underlying dataset and its schema while it is in use. Only one exclusive schema lock is allowed per dataset. As opposed to shared schema locks, exclusive schema locks are not applied or removed automatically; it is the responsibility of the developer to apply or remove exclusive schema locks.
Limit the scope of exclusive schema locks to the operation that requires the lock. Gather the necessary information to perform the action, obtain the exclusive lock, make the change, and release the lock. Some examples of operations for which an exclusive schema lock should be obtained include:
  • Modifications to attribute domains, such as adding or removing values from a coded value domain or changing the range for range domains
  • Adding or deleting a field from a feature class or object class
  • Associating a class extension with a feature class
  • Creating a topology, geometric network, network dataset, terrain, schematic dataset, representation, or cadastral fabric on a set of feature classes
  • Any use of the IClassSchemaEdit interface
  • Putting a feature class into and taking it out of load-only mode with the IFeatureClassLoad.LoadOnlyMode method
  • Managing (creating, deleting, or modifying) spatial and attribute indexes
Once the action requiring an exclusive schema lock is complete, the exclusive schema lock must be demoted to a shared lock. This includes when errors are raised during the schema modification, for example, consider the case where a field is being deleted from a feature class. To delete the field, an exclusive schema lock is obtained. However, on the call to DeleteField, an error is thrown; that is, the field being deleted is a required field, such as the ObjectID field. In the handling of the error, the exclusive schema lock must be demoted to a shared lock before proceeding.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
changeSchemaLock in interface ISchemaLock
Parameters:
schemaLock - A com.esri.arcgis.geodatabase.esriSchemaLock constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCurrentSchemaLocks

public void getCurrentSchemaLocks(IEnumSchemaLockInfo[] schemaLockInfo)
                           throws IOException,
                                  AutomationException
The list of current locks.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCurrentSchemaLocks in interface ISchemaLock
Parameters:
schemaLockInfo - A reference to a com.esri.arcgis.geodatabase.IEnumSchemaLockInfo (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

relatedObjectChanged

public void relatedObjectChanged(IRelationshipClass relationshipClass,
                                 IObject objectThatChanged)
                          throws IOException,
                                 AutomationException
Notifies this object that a related object changed.

Remarks

The RelatedObjectChanged method is called when a related object has changed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
relatedObjectChanged in interface IRelatedObjectEvents
Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
objectThatChanged - A reference to a com.esri.arcgis.geodatabase.IObject (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

relatedObjectMoved

public void relatedObjectMoved(IRelationshipClass relationshipClass,
                               IObject objectThatChanged,
                               ILine moveVector)
                        throws IOException,
                               AutomationException
Notifies this object that a related object moved.

Remarks

This method is currently reserved and implementations should not define any behavior.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
relatedObjectMoved in interface IRelatedObjectEvents
Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
objectThatChanged - A reference to a com.esri.arcgis.geodatabase.IObject (in)
moveVector - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

relatedObjectSetMoved

public void relatedObjectSetMoved(IRelationshipClass relationshipClass,
                                  ISet objectsThatNeedToChange,
                                  ISet objectsThatChanged,
                                  ILine moveVector)
                           throws IOException,
                                  AutomationException
Notifies this object that a set of objects with relationships to the input set of objects moved.

Remarks

The RelatedObjectSetMoved method is called when a set of objects in the related object class has moved. The objectsThatChanged argument represents the set of objects in the related object classes that have moved.

The objectsThatNeedToChange argument is a set of objects in this object's class that are related to the objects that moved. The object executing this method will itself be a member of the objectsThatNeedToChange set.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
relatedObjectSetMoved in interface IRelatedObjectEvents
Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
objectsThatNeedToChange - A reference to a com.esri.arcgis.system.ISet (in)
objectsThatChanged - A reference to a com.esri.arcgis.system.ISet (in)
moveVector - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

relatedObjectRotated

public void relatedObjectRotated(IRelationshipClass relationshipClass,
                                 IObject objectThatChanged,
                                 IPoint origin,
                                 double angle)
                          throws IOException,
                                 AutomationException
Notifies this object that a related object rotated.

Remarks

This method is currently reserved and implementations should not define any behavior.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
relatedObjectRotated in interface IRelatedObjectEvents
Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
objectThatChanged - A reference to a com.esri.arcgis.geodatabase.IObject (in)
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
angle - The angle (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

relatedObjectSetRotated

public void relatedObjectSetRotated(IRelationshipClass relationshipClass,
                                    ISet objectsThatNeedToChange,
                                    ISet objectsThatChanged,
                                    IPoint origin,
                                    double angle)
                             throws IOException,
                                    AutomationException
Notifies this object that a set of objects with relationships to the input set of objects rotated.

Remarks

The RelatedObjectSetRotated method is called when a set of objects in the related object class has moved. Its arguments are similar to the arguments for RelatedObjectSetMoved.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
relatedObjectSetRotated in interface IRelatedObjectEvents
Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
objectsThatNeedToChange - A reference to a com.esri.arcgis.system.ISet (in)
objectsThatChanged - A reference to a com.esri.arcgis.system.ISet (in)
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
angle - The angle (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSchematicDiagramClass

public ISchematicDiagramClass getSchematicDiagramClass()
                                                throws IOException,
                                                       AutomationException
Schematic diagram class related to the schematic diagram.

Product Availability

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

Specified by:
getSchematicDiagramClass in interface ISchematicDiagram
Returns:
A reference to a com.esri.arcgis.schematic.ISchematicDiagramClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSchematicDiagramContainer

public ISchematicDiagramContainer getSchematicDiagramContainer()
                                                        throws IOException,
                                                               AutomationException
Schematic diagram container related to the schematic diagram. That is, the schematic folder or the schematic dataset for the schematic diagram storage.

Product Availability

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

Specified by:
getSchematicDiagramContainer in interface ISchematicDiagram
Returns:
A reference to a com.esri.arcgis.schematic.ISchematicDiagramContainer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSchematicDiagramContainerByRef

public void setSchematicDiagramContainerByRef(ISchematicDiagramContainer diagramContainer)
                                       throws IOException,
                                              AutomationException
Schematic diagram container related to the schematic diagram. That is, the schematic folder or the schematic dataset for the schematic diagram storage.

Product Availability

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

Specified by:
setSchematicDiagramContainerByRef in interface ISchematicDiagram
Parameters:
diagramContainer - A reference to a com.esri.arcgis.schematic.ISchematicDiagramContainer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setName

public void setName(String name)
             throws IOException,
                    AutomationException
Name of the schematic diagram.

Remarks

Schematics enforces the uniqueness of the schematic diagram name regarding:

Product Availability

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

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

getCreationDate

public Date getCreationDate()
                     throws IOException,
                            AutomationException
Creation date of the schematic diagram.

Product Availability

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

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

setCreationDate

public void setCreationDate(Date date)
                     throws IOException,
                            AutomationException
Creation date of the schematic diagram.

Product Availability

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

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

getLastUpdateDate

public Date getLastUpdateDate()
                       throws IOException,
                              AutomationException
Last updating date of the schematic diagram.

Product Availability

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

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

setLastUpdateDate

public void setLastUpdateDate(Date date)
                       throws IOException,
                              AutomationException
Last updating date of the schematic diagram.

Product Availability

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

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

getVersion

public String getVersion()
                  throws IOException,
                         AutomationException
Version of the database used to create the schematic diagram.

Product Availability

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

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

setVersion

public void setVersion(String versionName)
                throws IOException,
                       AutomationException
Version of the database used to create the schematic diagram.

Product Availability

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

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

getCreator

public String getCreator()
                  throws IOException,
                         AutomationException
Name of the schematic diagram creator.

Product Availability

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

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

setCreator

public void setCreator(String name)
                throws IOException,
                       AutomationException
Name of the schematic diagram creator.

Product Availability

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

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

getUpdatedBy

public String getUpdatedBy()
                    throws IOException,
                           AutomationException
Name of the last user that updated the schematic diagram.

Product Availability

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

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

setUpdatedBy

public void setUpdatedBy(String name)
                  throws IOException,
                         AutomationException
Name of the last user that updated the schematic diagram.

Product Availability

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

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

getBuilderPropertySet

public IPropertySet getBuilderPropertySet()
                                   throws IOException,
                                          AutomationException
Builder PropertySet related to the schematic diagram.

Product Availability

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

Specified by:
getBuilderPropertySet in interface ISchematicDiagram
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.

alterBuilderPropertySet

public void alterBuilderPropertySet(IPropertySet propertySet)
                             throws IOException,
                                    AutomationException
Changes the builder PropertySet related to the schematic diagram with the new specified builder PropertySet.

Product Availability

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

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

alterPropertySet

public void alterPropertySet(IPropertySet propertySet)
                      throws IOException,
                             AutomationException
Changes the Schematic diagram PropertySet with the new specified diagram PropertySet.

Product Availability

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

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

getLastModificationDate

public Date getLastModificationDate()
                             throws IOException,
                                    AutomationException
Last modification date of the schematic diagram.

Product Availability

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

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

setLastModificationDate

public void setLastModificationDate(Date date)
                             throws IOException,
                                    AutomationException
Last modification date of the schematic diagram.

Product Availability

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

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

getModifiedBy

public String getModifiedBy()
                     throws IOException,
                            AutomationException
Name of the user that modified the schematic diagram.

Product Availability

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

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

setModifiedBy

public void setModifiedBy(String name)
                   throws IOException,
                          AutomationException
Name of the user that modified the schematic diagram.

Product Availability

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

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

getSchematicElements

public IEnumSchematicElement getSchematicElements()
                                           throws IOException,
                                                  AutomationException
Schematic elements enumeration within the container.

Product Availability

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

Specified by:
getSchematicElements in interface ISchematicElementContainer
Returns:
A reference to a com.esri.arcgis.schematic.IEnumSchematicElement
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSchematicElementsByType

public IEnumSchematicElement getSchematicElementsByType(int type)
                                                 throws IOException,
                                                        AutomationException
Schematic elements referenced by the specified element type.

Product Availability

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

Specified by:
getSchematicElementsByType in interface ISchematicElementContainer
Parameters:
type - A com.esri.arcgis.schematic.esriSchematicElementType constant (in)
Returns:
A reference to a com.esri.arcgis.schematic.IEnumSchematicElement
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSchematicElementByName

public ISchematicElement getSchematicElementByName(int type,
                                                   String name)
                                            throws IOException,
                                                   AutomationException
Schematic element referenced by the specified Name and related to specified element type.

Product Availability

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

Specified by:
getSchematicElementByName in interface ISchematicElementContainer
Parameters:
type - A com.esri.arcgis.schematic.esriSchematicElementType constant (in)
name - The name (in)
Returns:
A reference to a com.esri.arcgis.schematic.ISchematicElement
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.

getInvalidFields

public IFields getInvalidFields()
                         throws IOException,
                                AutomationException
Returns all invalid fields.

Description

The GetInvalidFields method returns a field set containing the row's invalid fields.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getInvalidFields in interface IValidate
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.

getInvalidRules

public IEnumRule getInvalidRules()
                          throws IOException,
                                 AutomationException
The set of all invalid rules.

Description

The GetInvalidRules method returns an enumerator of rules that are currently violated by the row.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getInvalidRules in interface IValidate
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.

getInvalidRulesByField

public IEnumRule getInvalidRulesByField(String fieldName)
                                 throws IOException,
                                        AutomationException
The set of all invalid rules for the specified field.

Description

The GetInvalidRulesByField method returns an enumerator of rules violated by the specified field of the row.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getInvalidRulesByField in interface IValidate
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.

validate

public boolean validate(String[] errorMessage)
                 throws IOException,
                        AutomationException
Validates the row.

Description

The Validate method indicates whether the row is violating any of its class's rules. A return value of true indicates the row is valid, while a return value of false indicates the row is violating one or more rules.

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 IValidate
Parameters:
errorMessage - The errorMessage (out: use single element array)
Returns:
The isValid
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

replaceDataSource

public void replaceDataSource(String initialDataSourceName,
                              String replacingDataSourceName,
                              ITrackCancel trackCancel)
                       throws IOException,
                              AutomationException
Replaces a schematic diagram referenced data sources.

Product Availability

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

Specified by:
replaceDataSource in interface ISchematicDataSourceManager
Parameters:
initialDataSourceName - The initialDataSourceName (in)
replacingDataSourceName - The replacingDataSourceName (in)
trackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in, optional, pass 0 if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.