com.esri.arcgis.geodatabase
Interface ITopologyContainer

All Superinterfaces:
java.io.Serializable
All Known Subinterfaces:
ITopologyContainer2
All Known Implementing Classes:
FeatureDataset, ITopologyContainer2Proxy, ITopologyContainerProxy

public interface ITopologyContainer
extends java.io.Serializable

Provides access to members that create, add, and hand out topologies.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Remarks

The ITopologyContainer interface can be used to manage and create topologies within a feature dataset.  If your intention is to simply browse for the set of topologies in a feature dataset, it is not necessary to open the feature dataset and call the methods on ITopologyContainer.  The IFeatureDatasetNames::TopologyNames method can be used to efficiently obtain this information.  Careful consideration should be given to specifying the parameters when creating a topology.  Once the topology is built, none of the parameters can be modified.  In order to change properties such as cluster tolerance, the topology must be deleted and rebuilt with the new parameters.


Method Summary
 ITopology createTopology(java.lang.String name, double clusterTolerance, int maxGeneratedErrorCount, java.lang.String configurationKeyword)
          Creates a new topology.
 double getDefaultClusterTolerance()
          The default cluster tolerance as per the topology engine.
 double getMaximumClusterTolerance()
          The maximal cluster tolerance as per the topology engine.
 double getMinimumClusterTolerance()
          The minimal cluster tolerance as per the topology engine.
 ITopology getTopology(int index)
          The topology at the specified index.
 ITopology getTopologyByID(int iD)
          The topology with the specified ID.
 ITopology getTopologyByName(java.lang.String name)
          The topology with the specified name.
 int getTopologyCount()
          The number of topologies in the container.
 

Method Detail

getTopology

public ITopology getTopology(int index)
                      throws java.io.IOException,
                             AutomationException
The topology at the specified index.

Supported Platforms

Windows, Solaris, Linux

Remarks

Returns the topology at the specified index.  The indexes go from 0 to TopologyCount -1

Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITopology
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTopologyByName

public ITopology getTopologyByName(java.lang.String name)
                            throws java.io.IOException,
                                   AutomationException
The topology with the specified name.

Supported Platforms

Windows, Solaris, Linux

Remarks

The TopologyByName property will return a reference to the topology with the specified name. For ArcSDE Geodatabases, both the fully qualified name and unqualified name can be used to return topologies.  If different users own topologies with the same unqualified names in the ArcSDE Geodatabase, using the unqualified name will return the topology owned by the current user.

Parameters:
name - The name (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITopology
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTopologyByID

public ITopology getTopologyByID(int iD)
                          throws java.io.IOException,
                                 AutomationException
The topology with the specified ID.

Supported Platforms

Windows, Solaris, Linux

Remarks

Returns the Topology with the specified ID.  The ID is not the index 0 to TopologyCount -1.  Rather it is the internal ID of the Topology as stored in the metadata tables.  It can be retrieved from ITopology::TopologyID.

Parameters:
iD - The iD (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITopology
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTopologyCount

public int getTopologyCount()
                     throws java.io.IOException,
                            AutomationException
The number of topologies in the container.

Supported Platforms

Windows, Solaris, Linux

Remarks

The number of Topologies in this container (FeatureDataset).

Returns:
The count
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createTopology

public ITopology createTopology(java.lang.String name,
                                double clusterTolerance,
                                int maxGeneratedErrorCount,
                                java.lang.String configurationKeyword)
                         throws java.io.IOException,
                                AutomationException
Creates a new topology.

Supported Platforms

Windows, Solaris, Linux

Remarks

The CreateTopology method creates a topology with the specified name, cluster tolerance, maximum allowable number of errors to be generated and for ArcSDE, with the supplied configuation keyword. When a topology is initially created, it is empty with no participating feature classes or rules.

The ITopologyContainer::DefaultClusterTolerance property should be used to return the default or recommended cluster tolerance for a topology. The ITopologyContainer::MaximumClusterTolerance property can be used to return the maximum cluster tolerance for a topology. You cannot specify a cluster tolerance larger than the maximum or smaller than the minimum or default cluster tolerance. As such, if the specified cluster tolerance is less than the DefaultClusterTolerance for the feature dataset, then the Topology will be created with the default cluster tolerance value. If the specified cluster tolerance is larger than the MaximumClusterTolerance, the topology will be created with the maximum cluster tolerance.

Using the CreateTopology method to create a topology within a geodatabase that supports Z cluster tolerances, will result in a topology with a ZClusterTolerance of 0.

Starting at version 9.2, cluster tolerance values should match the feature dataset's tolerance values.

The maxGeneratedErrorCount parameter specifies the maximum number of errors validate will generate before stopping. Setting a value of -1 indicates there is no limit to the number of errors that will be generated.

The configurationKeyword parameter allows the application to control the physical layout for this table in the underlying RDBMS—for example, in the case of an Oracle database, the configuration keyword controls the tablespace in which the table is created, the initial and next extents, and other properties. The configurationKeywords for an ArcSDE instance are set up by the ArcSDE data administrator, the list of available keywords supported by a workspace may be obtained using the IWorkspaceConfiguration interface. The configurationKeyword parameter is not mandatory when building a topology in an ArcSDE Geodatabase, an empty string can be specified, in which case the topology will be built using the default configuration. For more information on configuration keywords, refer to the ArcSDE documentation.

 

Parameters:
name - The name (in)
clusterTolerance - The clusterTolerance (in)
maxGeneratedErrorCount - The maxGeneratedErrorCount (in)
configurationKeyword - The configurationKeyword (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITopology
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultClusterTolerance

public double getDefaultClusterTolerance()
                                  throws java.io.IOException,
                                         AutomationException
The default cluster tolerance as per the topology engine.

Supported Platforms

Windows, Solaris, Linux

Remarks

Returns the "default" cluster tolerance as generated by the topology engine.  Currently this is the same as the MinimumClusterTolerance.

Returns:
The clusterTolerance
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinimumClusterTolerance

public double getMinimumClusterTolerance()
                                  throws java.io.IOException,
                                         AutomationException
The minimal cluster tolerance as per the topology engine.

Supported Platforms

Windows, Solaris, Linux

Remarks

Returns the minimum cluster tolerance for the topology.

Returns:
The clusterTolerance
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaximumClusterTolerance

public double getMaximumClusterTolerance()
                                  throws java.io.IOException,
                                         AutomationException
The maximal cluster tolerance as per the topology engine.

Supported Platforms

Windows, Solaris, Linux

Remarks

Returns the maximum cluster tolerance for the topology. This value will be six orders of magnitude (10^6) greater than the minimum cluster tolerance. For example, if the minimum cluster tolerance is 0.0000020407, the maximum cluster tolerance will be 0.20407.

Returns:
The clusterTolerance
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.