com.esri.arcgis.geodatabase
Class NetworkDatasetWorkspaceExtension

java.lang.Object
  extended by com.esri.arcgis.geodatabase.NetworkDatasetWorkspaceExtension
All Implemented Interfaces:
IDatasetContainer, IDatasetContainer2, IDatasetContainer3, IDatasetEdit, IWorkspaceExtension, IWorkspaceExtension2, IWorkspaceExtensionControl, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class NetworkDatasetWorkspaceExtension
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IWorkspaceExtension2, IWorkspaceExtensionControl, IDatasetContainer3, IDatasetEdit

A container for describing this network dataset's workspace extension properties.

Description

The NetworkDatasetWorkspaceExtension object contains members that facilitate the creation and browsing of network datasets inside of a shapefile or SDC workspace. The IDatasetContainer2 interface contains the CreateDataset method which should be used to create network datasets with a populated data element.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
NetworkDatasetWorkspaceExtension(Object obj)
          Construct a NetworkDatasetWorkspaceExtension using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void addDataset(IDataset datasetToAdd)
          Adds a dataset to the dataset collection.
 IDataset createDataset(IDEDataset dataElement)
          Given a data element, create a dataset in this container.
 boolean equals(Object o)
          Compare this object with another
 IEnumBSTR getDataDictionaryTableNames()
          Any data dictionary tables that should not be exposed to browsers and should not participate in edit sessions.
 IDataset getDataset(int type, int index)
          The dataset associated with the specified index value and dataset type.
 IDataset getDatasetByID(int type, int datasetID)
          The dataset associated with the specified index value and dataset type.
 IDataset getDatasetByName(int type, String name)
          The dataset of the specified type with the specified name.
 int getDatasetCount(int type)
          The number of datasets of the specified type in this container.
 IEnumDatasetName getDatasetNames(int type)
          The names of all the datasets with the specified type.
 IEnumDataset getDatasets(int type)
          An enumerator over the datasets of the specified type.
 IEnumDatasetType getDatasetTypes()
          The names of all the datasets with the specified type.
 IUID getGUID()
          The GUID that identifies this Workspace Extension.
 String getName()
          The Name for this Workspace Extension.
 IEnumBSTR getPrivateDatasetNames(int dtype)
          The private datasets that should not be exposed to browsers.
 IWorkspace getWorkspace()
          The workspace associated with this Workspace Extension.
 int hashCode()
          the hashcode for this object
 void init(IWorkspaceHelper pWorkspaceHelper)
          Initializes the extension, passing in a reference to its workspace helper.
 boolean isBeingEdited()
          True if the dataset is being edited.
 boolean ownsDatasetType(int datasetType)
          Indicates if the workspace extension owns the dataset type.
 void shutdown()
          Informs the extension that its workspace helper (and workspace) are going away.
 
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

NetworkDatasetWorkspaceExtension

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

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

Throws:
IOException - if there are interop problems NetworkDatasetWorkspaceExtension theNetworkDatasetWorkspaceExtension = (NetworkDatasetWorkspaceExtension) 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

ownsDatasetType

public boolean ownsDatasetType(int datasetType)
                        throws IOException,
                               AutomationException
Indicates if the workspace extension owns the dataset type.

Remarks

The OwnDatasetType method returns a boolean indicating whether the workspace extension supports the specified dataset type. For ArcGIS 9.1, OwnDatasetType will only return True for Network Datasets (esriDTNetworkDataset).

Product Availability

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

Specified by:
ownsDatasetType in interface IWorkspaceExtension2
Parameters:
datasetType - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
Returns:
The pOwnsType
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWorkspace

public IWorkspace getWorkspace()
                        throws IOException,
                               AutomationException
The workspace associated with this Workspace Extension.

Remarks

The Workspace property returns a reference to the workspace associated with the extension.

Product Availability

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

Specified by:
getWorkspace in interface IWorkspaceExtension2
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.

getName

public String getName()
               throws IOException,
                      AutomationException
The Name for this Workspace Extension.

Remarks

The Name property is the name of the extension.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getGUID

public IUID getGUID()
             throws IOException,
                    AutomationException
The GUID that identifies this Workspace Extension.

Remarks

The GUID property returns the well-known GUID for the extension and is guaranteed to be unique.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getPrivateDatasetNames

public IEnumBSTR getPrivateDatasetNames(int dtype)
                                 throws IOException,
                                        AutomationException
The private datasets that should not be exposed to browsers.

Product Availability

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

Specified by:
getPrivateDatasetNames in interface IWorkspaceExtension
Parameters:
dtype - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
Returns:
A reference to a com.esri.arcgis.system.IEnumBSTR
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDataDictionaryTableNames

public IEnumBSTR getDataDictionaryTableNames()
                                      throws IOException,
                                             AutomationException
Any data dictionary tables that should not be exposed to browsers and should not participate in edit sessions.

Remarks

The PrivateDatasetNames and DataDictionaryNames properties return the names of tables and datasets that are private to the extension and will not be exposed by the workspace to browsing clients. Since they return an EnumBSTR object that is not cocreatable, you must create your own object that implements IEnumBSTR.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

init

public void init(IWorkspaceHelper pWorkspaceHelper)
          throws IOException,
                 AutomationException
Initializes the extension, passing in a reference to its workspace helper.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

shutdown

public void shutdown()
              throws IOException,
                     AutomationException
Informs the extension that its workspace helper (and workspace) are going away.

Remarks

The Shutdown method informs the workspace extension that the workspace has been released by all clients and is about to go away. In response, the workspace extension should release its reference on the workspace helper. Any subsequent calls by the application to the workspace extension should return an error.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getDatasetByID

public IDataset getDatasetByID(int type,
                               int datasetID)
                        throws IOException,
                               AutomationException
The dataset associated with the specified index value and dataset type.

Product Availability

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

Specified by:
getDatasetByID in interface IDatasetContainer3
Parameters:
type - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
datasetID - The datasetID (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.

getDataset

public IDataset getDataset(int type,
                           int index)
                    throws IOException,
                           AutomationException
The dataset associated with the specified index value and dataset type.

Product Availability

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

Specified by:
getDataset in interface IDatasetContainer2
Parameters:
type - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
index - The index (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.

getDatasets

public IEnumDataset getDatasets(int type)
                         throws IOException,
                                AutomationException
An enumerator over the datasets of the specified type.

Product Availability

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

Specified by:
getDatasets in interface IDatasetContainer2
Parameters:
type - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
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.

getDatasetCount

public int getDatasetCount(int type)
                    throws IOException,
                           AutomationException
The number of datasets of the specified type in this container.

Product Availability

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

Specified by:
getDatasetCount in interface IDatasetContainer2
Parameters:
type - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDatasetByName

public IDataset getDatasetByName(int type,
                                 String name)
                          throws IOException,
                                 AutomationException
The dataset of the specified type with the specified name.

Product Availability

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

Specified by:
getDatasetByName in interface IDatasetContainer2
Parameters:
type - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
name - The name (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.

getDatasetNames

public IEnumDatasetName getDatasetNames(int type)
                                 throws IOException,
                                        AutomationException
The names of all the datasets with the specified type.

Product Availability

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

Specified by:
getDatasetNames in interface IDatasetContainer2
Parameters:
type - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumDatasetName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDatasetTypes

public IEnumDatasetType getDatasetTypes()
                                 throws IOException,
                                        AutomationException
The names of all the datasets with the specified type.

Remarks

The DatasetTypes property returns an enumerator of IEnumDatasetType containing the supported esriDatasetTypes for the container. Use this method to determine the supported datasets for the container.

Product Availability

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

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

createDataset

public IDataset createDataset(IDEDataset dataElement)
                       throws IOException,
                              AutomationException
Given a data element, create a dataset in this container.

Remarks

The CreateDataset method will create a dataset given a populated data element. Use the DatasetTypes property to determine the supported dataset types.

Product Availability

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

Specified by:
createDataset in interface IDatasetContainer2
Parameters:
dataElement - A reference to a com.esri.arcgis.geodatabase.IDEDataset (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.

addDataset

public void addDataset(IDataset datasetToAdd)
                throws IOException,
                       AutomationException
Adds a dataset to the dataset collection.

Remarks

When calling this method on feature datasets, both the XY and Z spatial reference systems of the dataset (if applicable) must match those of the feature dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isBeingEdited

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

Remarks

An edit session is begun on a Workspace using IWorkspaceEdit::StartEditing method. 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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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