com.esri.arcgis.geodatabase
Class UtilityNetwork

java.lang.Object
  extended by com.esri.arcgis.geodatabase.UtilityNetwork
All Implemented Interfaces:
IDataset, IDatasetAnalyze, IDatasetEdit, IDatasetEditInfo, INetAttributes, INetAttributesEdit, INetElements, INetSchema, INetSchemaEdit, INetTopology, INetTopologyEdit, INetwork, INetworkUpdate, ISchemaLock, IUtilityNetworkGEN, IVersionedObject, IVersionedObject2, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class UtilityNetwork
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IUtilityNetworkGEN, INetwork, INetworkUpdate, INetElements, INetSchema, INetSchemaEdit, INetTopology, INetTopologyEdit, INetAttributes, INetAttributesEdit, IDataset, IDatasetEdit, IDatasetEditInfo, ISchemaLock, IVersionedObject2, IDatasetAnalyze

A container for describing a utility network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
UtilityNetwork(Object obj)
          Construct a UtilityNetwork using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 int addEdgeByEndEIDs(INetElementDescription edgeDescription, int fromJunctionEID, int toJunctionEID)
          Adds an edge element to the logical network between the specified junction elements.
 INetElementClass addElementClass(int userClassID)
          Adds a new element class to the network.
 int addJunction(INetElementDescription junctionDescription)
          Adds a junction element to the logical network.
 void addWeight(INetWeight networkWeight)
          Adds a new weight to the network.
 void addWeightAssociation(INetWeightAssociation weightSource)
          Adds a new weight association to the network.
 void analyze(int tableComponents)
          Analyze the data to update/generate DBMS statistics.
 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.
 IForwardStar createForwardStar(boolean honorState, INetWeight junctionWeight, INetWeight fromToEdgeWeight, INetWeight toFromEdgeWeight, INetWeight turnWeight)
          Creates a forward star cursor on the network index.
 IEnumNetEID createNetBrowser(int elementType)
          Creates a network index element browser.
 void delete()
          Deletes this dataset.
 void deleteByEID(int eID, int elementType)
          Deletes the specified network element from the logical network.
 void deleteByEIDs(int elementType, int elementCount, int[] elementEIDs)
          Deletes the specified network elements from the logical network.
 void deleteByID(int userClassID, int userID, int userSubID, int elementType)
          Deletes the specified network element from the logical network.
 boolean equals(Object o)
          Compare this object with another
 void establishFlowDirection(int[] sourceEIDs, int[] sinkEIDs)
          Sets the flow direction of all edge elements based on the placement of sources and sinks.
 void getAdjacentEdge(int atJunctionEID, int index, int[] adjacentEdge, boolean[] reverseOrientation)
          Returns the network element ID of the index'th adjacent edge to the specified junction.
 int getAdjacentEdgeCount(int atJunctionEID)
          Returns the number of edges adjacent to the specified junction.
 void getAdjacentEdges(int atJunctionEID, int adjacentEdgesCount, int[] adjacentEdges, boolean[] reverseOrientation)
          Returns the network element IDs of all the edges adjacent to the specified junction.
 int getAllowableComponents()
          The allowable components to be analyzed.
 void getAncillaryRole(int userClassID, int[] ancillaryRole, String[] ancillaryRoleFieldName)
          Returns the ancillary role type and the name of the field containing the ancillary role information.
 String getBrowseName()
          The browse name of the dataset.
 String getCategory()
          The category of the dataset.
 void getCurrentSchemaLocks(IEnumSchemaLockInfo[] schemaLockInfo)
          The list of current locks.
 boolean getDisabledState(int eID, int elementType)
          Returns the disabled state of the specified network element.
 int getEdgeCount()
          Number of edges in the network.
 int getEID(int userClassID, int userID, int userSubID, int elementType)
          Returns the network element ID (EID).
 int getEIDCount(int userClassID, int userID, int elementType)
          Returns the number of network element IDs (EIDs) corresponding to the specified user class ID and user ID.
 IEnumNetEID getEIDs(int userClassID, int userID, int elementType)
          Returns the network element IDs (EIDs) corresponding to the specified user classID and user ID.
 INetElementClass getElementClass(int index)
          Element class by index.
 INetElementClass getElementClassByUserID(int elementclassUserID)
          Element class corresponding to the specified user class ID.
 int getElementClassCount()
          Number of element classes in the network.
 String getEnabledDisabledFieldName(int userClassID)
          Returns the name of the filed containing the enabled/disabled information for the specified user class.
 int getFlowDirection(int edgeEID)
          Returns the flow direction of the specified edge element.
 void getFromToJunctionEIDs(int edgeEID, int[] fromJunctionEID, int[] toJunctionEID)
          Returns the network element IDs of the junctions adjacent to the specified edge.
 IName getFullName()
          The associated name object.
 int getJunctionCount()
          Number of junctions in the network.
 int getMaxDegree()
          Maximum degree of a junction.
 int getMaxTurn()
          Maximum number of turns associated with a junction.
 String getName()
          The name of the Dataset.
 IPropertySet getPropertySet()
          The set of properties for the dataset.
 int getStatus()
          Status of the network.
 IEnumDataset getSubsets()
          Datasets contained within this dataset.
 int getTurnCount()
          Number of turns in the network.
 int getType()
          The type of the Dataset.
 IVersion getVersion()
          The object's current version.
 INetWeight getWeight(int weightInternalID)
          Network weight corresponding to the specified weight internal ID.
 IEnumNetWeightAssociation getWeightAssociations(int weightInternalID)
          Network weight associations corresponding to the specified weight internal ID.
 IEnumNetWeightAssociation getWeightAssociationsByTableName(String tableName)
          Network weight associations corresponding to the specified table name.
 INetWeight getWeightByName(String weightName)
          Network weight corresponding to the specified name.
 int getWeightCount()
          Number of weights in the network.
 Object getWeightValue(int eID, int elementType, int weightInternalID)
          Returns the weight value of the specified network element for the specified weight.
 IWorkspace getWorkspace()
          The workspace containing this dataset.
 int hashCode()
          the hashcode for this object
 boolean isAttributesBeingUpdated()
          Indicates if the attributes of the network are currently being updated.
 boolean isBeingEdited()
          True if the dataset is being edited.
 boolean isCanEdit()
          True if the dataset supports edit sessions with the ability to discard edits on save.
 boolean 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 isHasUncompressedEdits()
          Indicates if the object has edits that haven't been compressed yet.
 boolean isRegisteredAsVersioned()
          Indicates if the object is registered as versioned.
 boolean isSchemaBeingUpdated()
          Indicates if the schema of the network is currently being updated.
 boolean isTopologyBeingUpdated()
          Indicates if the topology of the network is currently being updated.
 boolean isValidElement(int eID, int elementType)
          Returns whether the specified element is part of the network.
 boolean isValidFlowDirection()
          Indicates if the flow direction is valid for this utility network.
 void partialEstablishFlowDirection(int[] sourceEIDs, int[] sinkEIDs)
          Sets the flow direction of all reachable edge elements based on the placement of sources and sinks.
 void putAncillaryRole(int userClassID, int ancillaryRole, String ancillaryRoleFieldName)
          Sets the ancillary role type and the name of the field containing the ancillary role information for the specified user class.
 void putEnabledDisabledFieldName(int userClassID, String enabledDisabledRoleFieldName)
          Sets the name of the field containing the enabled/disabled information for the specified user class.
 void queryIDs(int eID, int elementType, int[] userClassID, int[] userID, int[] userSubID)
          Returns the user class ID, user ID, and user sub ID for the specified network element.
 void registerAsVersioned(boolean isVersioned)
          Register/UnRegister the object as being versioned.
 void rename(String name)
          Renames this Dataset.
 void setBrowseName(String name)
          The browse name of the dataset.
 void setDisabledState(int eID, int elementType, boolean disableState)
          Sets the disabled state of the specified network element.
 void setFlowDirection(int edgeEID, int flowDirection)
          Sets the flow direction for the specified edge element.
 void setWeightValue(int eID, int elementType, int weightInternalID, Object weightValue)
          Sets the weight value of the specified network element for the specified weight.
 void startAttributesUpdating()
          Starts a session for updating the attributes of the network.
 void startSchemaUpdating()
          Starts a session for updating the schema of the network.
 void startTopologyUpdating()
          Starts a session for updating the topology of the network.
 void stopAttributesUpdating()
          Ends the session for updating the attributes of the network.
 void stopSchemaUpdating()
          Ends the session for updating the schema for the network.
 void stopTopologyUpdating()
          Ends the session for updating the topology of the network.
 
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

UtilityNetwork

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

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

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

isValidFlowDirection

public boolean isValidFlowDirection()
                             throws IOException,
                                    AutomationException
Indicates if the flow direction is valid for this utility network.

Remarks

ValidFlowDirection specifies whether the logical network has flow direction defined on it. Use EstablishFlowDirection on this same interface to set the flow direction.

In this release, ValidFlowDirection is not implemented -- for now, this property always returns False.

Product Availability

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

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

getFlowDirection

public int getFlowDirection(int edgeEID)
                     throws IOException,
                            AutomationException
Returns the flow direction of the specified edge element.

Remarks

GetFlowDirection returns the flow direction for the specified edge element. Possible flow directions are (with and against values are in relation to the digitized direction of the element).

esriFDAgainstFlow

esriFDIndeterminate

esriFDUninitialized

esriFDWithFlow

Product Availability

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

Specified by:
getFlowDirection in interface IUtilityNetworkGEN
Parameters:
edgeEID - The edgeEID (in)
Returns:
A com.esri.arcgis.geodatabase.esriFlowDirection constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFlowDirection

public void setFlowDirection(int edgeEID,
                             int flowDirection)
                      throws IOException,
                             AutomationException
Sets the flow direction for the specified edge element.

Remarks

SetFlowDirection will set the flow direction for the specified edge element. Flow direction can be set to one of these possible values:

esriFDAgainstFlow

esriFDIndeterminate

esriFDUninitialized

esriFDWithFlow

This operation requires that you make the network editable. You can do this either through an edit session using the Editor, or you can use the IWorkspaceEdit interface to edit the workspace of the logical network.

Product Availability

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

Specified by:
setFlowDirection in interface IUtilityNetworkGEN
Parameters:
edgeEID - The edgeEID (in)
flowDirection - A com.esri.arcgis.geodatabase.esriFlowDirection constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

establishFlowDirection

public void establishFlowDirection(int[] sourceEIDs,
                                   int[] sinkEIDs)
                            throws IOException,
                                   AutomationException
Sets the flow direction of all edge elements based on the placement of sources and sinks.

Remarks

EstablishFlowDirection will set the flow direction for the entire network based on the input sources (starting points) and/or sinks (collection points). In the majority of cases your network will have either sources or sinks, but not both. Having both sources and sinks in your network will often lead to indeterminate flow on the edge elements. Any edge elements that cannot be reached from the specified sources and/or sinks will have uninitialized flow.

The flow direction established on the edges will be based on these possible values:

esriFDAgainstFlow
esriFDIndeterminate
esriFDUninitialized
esriFDWithFlow

This operation requires that you make the network editable. You can do this either through an edit session using the Editor, or you can use the IWorkspaceEdit interface to edit the workspace of the logical network.

Product Availability

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

Specified by:
establishFlowDirection in interface IUtilityNetworkGEN
Parameters:
sourceEIDs - The sourceEIDs (in)
sinkEIDs - The sinkEIDs (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

partialEstablishFlowDirection

public void partialEstablishFlowDirection(int[] sourceEIDs,
                                          int[] sinkEIDs)
                                   throws IOException,
                                          AutomationException
Sets the flow direction of all reachable edge elements based on the placement of sources and sinks.

Remarks

PartialEstablishFlowDirection will set the flow direction for the network based on the input sources (starting points) and/or sinks (collection points). In the majority of cases your network will have either sources or sinks, but not both. Having both sources and sinks in your network will often lead to indeterminate flow on the edge elements.

PartialEstablishFlowDirection is very similar to IUtilityNetworkGEN::EstablishFlowDirection. The difference is in those edge elements that cannot be reached from the specified sources and/or sinks. In EstablishFlowDirection, these edges will be set to uninitialized flow. In PartialEstablishFlowDirection, these unreachable edges will retain their original flow direction value.

The flow direction established on the edges will be based on these possible values:

esriFDAgainstFlow
esriFDIndeterminate
esriFDUninitialized
esriFDWithFlow

This operation requires that you make the network editable. You can do this either through an edit session using the Editor, or you can use the IWorkspaceEdit interface to edit the workspace of the logical network.

Product Availability

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

Specified by:
partialEstablishFlowDirection in interface IUtilityNetworkGEN
Parameters:
sourceEIDs - The sourceEIDs (in)
sinkEIDs - The sinkEIDs (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStatus

public int getStatus()
              throws IOException,
                     AutomationException
Status of the network.

Remarks

The status of a network can be:

esriNSInvalidConnection
esriNSNetworkAlreadyExist
esriNSReadOnlyNetwork
esriNSCannotOpenTables
esriNSCannotCreateTables
esriNSInvalidElementClasses
esriNSInvalidWeights
esriNSUnknownStatus
esriNSValidNetwork

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getJunctionCount

public int getJunctionCount()
                     throws IOException,
                            AutomationException
Number of junctions in the network.

Remarks

JunctionCount returns a count of all the junctions in the network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getEdgeCount

public int getEdgeCount()
                 throws IOException,
                        AutomationException
Number of edges in the network.

Remarks

EdgeCount returns a count of all the edges within the network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getTurnCount

public int getTurnCount()
                 throws IOException,
                        AutomationException
Number of turns in the network.

Remarks

TurnCount returns a count of all the turns within a StreetNetwork. For a UtilityNetwork, TurnCount will return 0.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMaxDegree

public int getMaxDegree()
                 throws IOException,
                        AutomationException
Maximum degree of a junction.

Remarks

The MaxDegree is the maximum number of edges connected to any given junction in the network. This property can be used to determine if there are incorrect connections within the network. For instance, in a Gas Network it is unlikely that there would ever be more than 4 edges attached to a junction. If MaxDegree returned a number greater than 4, it would indicate a problem in the network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMaxTurn

public int getMaxTurn()
               throws IOException,
                      AutomationException
Maximum number of turns associated with a junction.

Remarks

MaxTurn returns the maximum number of turns assigned to any given junction within a StreetNetwork. For a UtilityNetwork, MaxTurn will always return 0.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

createForwardStar

public IForwardStar createForwardStar(boolean honorState,
                                      INetWeight junctionWeight,
                                      INetWeight fromToEdgeWeight,
                                      INetWeight toFromEdgeWeight,
                                      INetWeight turnWeight)
                               throws IOException,
                                      AutomationException
Creates a forward star cursor on the network index.

Remarks

CreateForwardStar generates an IForwardStar object that can be used for stepping through the network. The input parameters for the method are as follows:

HonorState refers to elements in your network that are enabled/disabled. If you set HonorState to True then the ForwardStar will only return elements that are not disabled. If you specify False then any element that is connected to the element you are accessing will return a ForwardStar.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createForwardStar in interface INetwork
Parameters:
honorState - The honorState (in)
junctionWeight - A reference to a com.esri.arcgis.geodatabase.INetWeight (in)
fromToEdgeWeight - A reference to a com.esri.arcgis.geodatabase.INetWeight (in)
toFromEdgeWeight - A reference to a com.esri.arcgis.geodatabase.INetWeight (in)
turnWeight - A reference to a com.esri.arcgis.geodatabase.INetWeight (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IForwardStar
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INetwork.createForwardStar(boolean, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight), IForwardStar.queryAdjacentEdge(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunction(int, int[], Object[]), IForwardStar.getNetwork(), IForwardStar.findAdjacent(int, int, int[]), IForwardStar.queryAtTurns(int, int[], Object[]), IForwardStar.queryAdjacentEdges(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunctions(int, int[], Object[]), IForwardStar.queryAtTurn(int, int[], Object[])

createNetBrowser

public IEnumNetEID createNetBrowser(int elementType)
                             throws IOException,
                                    AutomationException
Creates a network index element browser.

Remarks

CreateNetBrowser returns a reference to an IEnumNetEID interface. This particular enumeration represents all of the elements within the network. Use this method when you want to access all of the individual elements of the network for setting the enabled/disabled property or some other similar purpose.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createNetBrowser in interface INetwork
Parameters:
elementType - A com.esri.arcgis.geodatabase.esriElementType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumNetEID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

startSchemaUpdating

public void startSchemaUpdating()
                         throws IOException,
                                AutomationException
Starts a session for updating the schema of the network.

Remarks

Starts updating of the network schema. This updating session must be open before calling any methods on the INetSchemaEdit interface.
If you run StartSchemaUpdating to begin an updating session, then be sure to run StopSchemaUpdating when you have finished updating.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

stopSchemaUpdating

public void stopSchemaUpdating()
                        throws IOException,
                               AutomationException
Ends the session for updating the schema for the network.

Remarks

StopSchemaUpdating is run to close an updating session on the schema that started with StartSchemaUpdating. Do not run this method if you did not begin editing the schema by executing StartSchemaUpdating. Methods in the INetSchemaEdit interface can not be executed once StopSchemaUpdating has been executed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isSchemaBeingUpdated

public boolean isSchemaBeingUpdated()
                             throws IOException,
                                    AutomationException
Indicates if the schema of the network is currently being updated.

Remarks

IsSchemaBeingUpdated identifies whether there is an open updating session on the schema. This updating session is necessary to execute the methods in INetSchemaEdit and can be opened by executing the StartSchemaUpdating method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

startTopologyUpdating

public void startTopologyUpdating()
                           throws IOException,
                                  AutomationException
Starts a session for updating the topology of the network.

Remarks

Starts updating of the network topology. This updating session must be open before calling any methods on the INetTopologyEdit interface.
If you run StartTopologyUpdating to begin an updating session, then be sure to run StopTopologyUpdating when you have finished updating.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

stopTopologyUpdating

public void stopTopologyUpdating()
                          throws IOException,
                                 AutomationException
Ends the session for updating the topology of the network.

Remarks

StopTopologyUpdating is run to close an updating session on the topology that started with StartTopologyUpdating. Do not run this method if you did not begin updating the topology by executing StartTopologyUpdating. Methods in the INetTopologyEdit interface can not be executed once StopTopologyUpdating has been executed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isTopologyBeingUpdated

public boolean isTopologyBeingUpdated()
                               throws IOException,
                                      AutomationException
Indicates if the topology of the network is currently being updated.

Remarks

IsTopologyBeingUpdated identifies whether there is an open updating session on the topology of a logical network. This updating session is necessary to execute the methods in INetTopologyEdit and can be opened by executing the StartTopologyUpdating method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

startAttributesUpdating

public void startAttributesUpdating()
                             throws IOException,
                                    AutomationException
Starts a session for updating the attributes of the network.

Remarks

Starts updating of the network attributes. This updating session must be open before calling any methods on the INetAttributesEdit interface.
If you run StartAttributesUpdating to begin an updating session, then be sure to run StopAttributesUpdating when you have finished updating.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

stopAttributesUpdating

public void stopAttributesUpdating()
                            throws IOException,
                                   AutomationException
Ends the session for updating the attributes of the network.

Remarks

StopAttributesUpdating is run to close an updating session on the attributes that started with StartAttributesUpdating. Do not run this method if you did not begin updating the attributes by executing StartAttributesUpdating. Methods in the INetAttributesEdit interface can not be executed once StopAttributesUpdating has been executed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isAttributesBeingUpdated

public boolean isAttributesBeingUpdated()
                                 throws IOException,
                                        AutomationException
Indicates if the attributes of the network are currently being updated.

Remarks

IsAttributesBeingUpdated identifies whether there is an open updating session on the attrbiutes of a logical network. This updating session is necessary to execute the methods in INetAttributesEdit and can be opened by executing the StartAttributesUpdating method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isValidElement

public boolean isValidElement(int eID,
                              int elementType)
                       throws IOException,
                              AutomationException
Returns whether the specified element is part of the network.

Remarks

The valid state of an element can be either true or false. A state of true means the element is part of the network while a state of false means it is not part of the network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isValidElement in interface INetElements
Parameters:
eID - The eID (in)
elementType - A com.esri.arcgis.geodatabase.esriElementType constant (in)
Returns:
The validState
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEID

public int getEID(int userClassID,
                  int userID,
                  int userSubID,
                  int elementType)
           throws IOException,
                  AutomationException
Returns the network element ID (EID).

Remarks

Pass in a valid UserClassID, UserID, UserSubID, and esriElementType and the corresponding Element ID (EID) in the logical network is returned. If no network elements match the given UserClassID, UserID, UserSubID, and esriElementType, then 0 is returned.
If the network is part of a geometric network, the UserClassID and UserID correspond to the FeatureClassID and OID of the feature. The UserSubID is the ID of the subelement of the feature.
Entering a negative value for the UserSubID will return the first EID in the table that matches the specified UserClassID and UserID. This is not necessarily the lowest-valued EID matching the specified UserClassID and UserID, nor necessarily the EID corresponding to the lowest-valued SubID.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getEID in interface INetElements
Parameters:
userClassID - The userClassID (in)
userID - The userID (in)
userSubID - The userSubID (in)
elementType - A com.esri.arcgis.geodatabase.esriElementType constant (in)
Returns:
The eID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEIDCount

public int getEIDCount(int userClassID,
                       int userID,
                       int elementType)
                throws IOException,
                       AutomationException
Returns the number of network element IDs (EIDs) corresponding to the specified user class ID and user ID.

Remarks

Pass in a valid UserClassID, UserID, and esriElementType and the number of corresponding Element IDs (EIDs) in the logical network is returned. If no network elements match the given UserClassID, UserID, and esriElementType, then 0 is returned.
If the network is part of a geometric network, then the UserClassID and UserID correspond to the FeatureClassID and OID of the feature. For complex edge and junction features, this method returns then number of corresponding Element IDs (EIDs) in the logical network. For simple edge and junction features, this method will return 1.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getEIDCount in interface INetElements
Parameters:
userClassID - The userClassID (in)
userID - The userID (in)
elementType - A com.esri.arcgis.geodatabase.esriElementType constant (in)
Returns:
The eIDCount
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEIDs

public IEnumNetEID getEIDs(int userClassID,
                           int userID,
                           int elementType)
                    throws IOException,
                           AutomationException
Returns the network element IDs (EIDs) corresponding to the specified user classID and user ID.

Remarks

Pass in a valid UserClassID, UserID, and esriElementType and an enumeration of the corresponding Element IDs (EIDs) in the logical network is returned. If no network elements match the given UserClassID, UserID, and esriElementType, then an empty enumeration of EIDs is returned.
If the network is part of a geometric network, then the UserClassID and UserID correspond to the FeatureClassID and OID of the feature. For complex edge and junction features, this method returns an enumeration of the corresponding Element IDs in the logical network. For simple edge and junction features, the enumeration will always contain only one Element ID (EID).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getEIDs in interface INetElements
Parameters:
userClassID - The userClassID (in)
userID - The userID (in)
elementType - A com.esri.arcgis.geodatabase.esriElementType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumNetEID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryIDs

public void queryIDs(int eID,
                     int elementType,
                     int[] userClassID,
                     int[] userID,
                     int[] userSubID)
              throws IOException,
                     AutomationException
Returns the user class ID, user ID, and user sub ID for the specified network element.

Remarks

Pass an a valid Element ID (EID) and its esriElementType and the IDs of the corresponding feature in the geometric network are returned.
If the network is part of a geometric network, the UserClassID and UserID correspond to the FeatureClassID and OID of the feature. The UserSubID is the ID of the subelement of the feature.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryIDs in interface INetElements
Parameters:
eID - The eID (in)
elementType - A com.esri.arcgis.geodatabase.esriElementType constant (in)
userClassID - The userClassID (out: use single element array)
userID - The userID (out: use single element array)
userSubID - The userSubID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getElementClassCount

public int getElementClassCount()
                         throws IOException,
                                AutomationException
Number of element classes in the network.

Remarks

ElementClassCount returns a count of all the NetElementClasses represented in the network. Each NetElementClass corresponds to a single object class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getElementClass

public INetElementClass getElementClass(int index)
                                 throws IOException,
                                        AutomationException
Element class by index.

Product Availability

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

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

getElementClassByUserID

public INetElementClass getElementClassByUserID(int elementclassUserID)
                                         throws IOException,
                                                AutomationException
Element class corresponding to the specified user class ID.

Product Availability

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

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

getWeightCount

public int getWeightCount()
                   throws IOException,
                          AutomationException
Number of weights in the network.

Remarks

WeightCount returns a count of all of the weights defined for the network.

The weight being a NetWeight object consisting of a name and type of weight. Multiple NetWeightAssociation objects (consisting of field name and table name) are then associated with a particular weight.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getWeight

public INetWeight getWeight(int weightInternalID)
                     throws IOException,
                            AutomationException
Network weight corresponding to the specified weight internal ID.

Product Availability

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

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

getWeightByName

public INetWeight getWeightByName(String weightName)
                           throws IOException,
                                  AutomationException
Network weight corresponding to the specified name.

Product Availability

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

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

getWeightAssociations

public IEnumNetWeightAssociation getWeightAssociations(int weightInternalID)
                                                throws IOException,
                                                       AutomationException
Network weight associations corresponding to the specified weight internal ID.

Product Availability

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

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

getWeightAssociationsByTableName

public IEnumNetWeightAssociation getWeightAssociationsByTableName(String tableName)
                                                           throws IOException,
                                                                  AutomationException
Network weight associations corresponding to the specified table name.

Product Availability

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

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

getAncillaryRole

public void getAncillaryRole(int userClassID,
                             int[] ancillaryRole,
                             String[] ancillaryRoleFieldName)
                      throws IOException,
                             AutomationException
Returns the ancillary role type and the name of the field containing the ancillary role information.

Remarks

GetAncillaryRole returns the AncillaryRole (0 - no role, 1 - source or sink) and field name for the specified object class. The returned field name is an empty string ("") when the anciallyRole is 0 (no role).

Initialize the output parameters as an esriNetworkClassAncillaryRole (ancillaryRole) and a string (ancillaryRoleFieldName).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAncillaryRole in interface INetSchema
Parameters:
userClassID - The userClassID (in)
ancillaryRole - A com.esri.arcgis.geodatabase.esriNetworkClassAncillaryRole constant (out: use single element array)
ancillaryRoleFieldName - The ancillaryRoleFieldName (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEnabledDisabledFieldName

public String getEnabledDisabledFieldName(int userClassID)
                                   throws IOException,
                                          AutomationException
Returns the name of the filed containing the enabled/disabled information for the specified user class.

Remarks

GetEnabledDisabledFieldName returns the field name in the specified table used to hold the enabled/disabled value for each feature. The enabled/disabled property indicates whether the feature can be traced through or not. A True value (enabled) means you can trace through the feature, while a False value (disabled) means you cannot.

If the specified UserClassID cannot be found, an empty string is returned.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getEnabledDisabledFieldName in interface INetSchema
Parameters:
userClassID - The userClassID (in)
Returns:
The enabledDisabledFieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addElementClass

public INetElementClass addElementClass(int userClassID)
                                 throws IOException,
                                        AutomationException
Adds a new element class to the network.

Remarks

AddElementClass adds a new element class to the network. Use this method only to add a new class to a newly created stand-alone logical network that does not have any topology.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

addWeight

public void addWeight(INetWeight networkWeight)
               throws IOException,
                      AutomationException
Adds a new weight to the network.

Remarks

AddWeight will add a new weight to the network. A weight is used to qualify traces through the features in a network. Add a weight to your network when you want tracing to be based on attributes values of the features in the network.

Only use this method to add a weight to a newly created stand-alone logical network that does not have any topology.

See the help for the INetWeightEdit interface to learn how to create a NetWeight object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

addWeightAssociation

public void addWeightAssociation(INetWeightAssociation weightSource)
                          throws IOException,
                                 AutomationException
Adds a new weight association to the network.

Remarks

AddWeightAssocation is used to add a new weight association to a weight already defined on the network. A weight is defined by its name, type, and set of weight associations. The weight associations define the table name and field name that participate in the weight. Multiple table name and field name combinations (weight associations) can participate within a single weight.

Only use this method on newly created stand-alone logical networks that do not have any topology.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

putAncillaryRole

public void putAncillaryRole(int userClassID,
                             int ancillaryRole,
                             String ancillaryRoleFieldName)
                      throws IOException,
                             AutomationException
Sets the ancillary role type and the name of the field containing the ancillary role information for the specified user class.

Remarks

PutAncillaryRole adds a new ancillary role description to the network. An ancillary role is a source of sink for the network. In order to have sources and sinks in your network, you need to define the user class that will contain the features, and the field name that will specify whether the feature is a source, sink, or neither. PutAncillaryRole applies this definition to the network.

Only use this method on newly created stand-alone logical networks that do not have any topology.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
putAncillaryRole in interface INetSchemaEdit
Parameters:
userClassID - The userClassID (in)
ancillaryRole - A com.esri.arcgis.geodatabase.esriNetworkClassAncillaryRole constant (in)
ancillaryRoleFieldName - The ancillaryRoleFieldName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

putEnabledDisabledFieldName

public void putEnabledDisabledFieldName(int userClassID,
                                        String enabledDisabledRoleFieldName)
                                 throws IOException,
                                        AutomationException
Sets the name of the field containing the enabled/disabled information for the specified user class.

Remarks

PutEnabledDisabledFieldName will define the field name within the specified user class to use for tracking whether a feature is enabled or disabled. Enabled or disabled refers to the ability or inability to trace through a feature.

Only use this method on newly created stand-alone logical networks that do not have any topology.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
putEnabledDisabledFieldName in interface INetSchemaEdit
Parameters:
userClassID - The userClassID (in)
enabledDisabledRoleFieldName - The enabledDisabledRoleFieldName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFromToJunctionEIDs

public void getFromToJunctionEIDs(int edgeEID,
                                  int[] fromJunctionEID,
                                  int[] toJunctionEID)
                           throws IOException,
                                  AutomationException
Returns the network element IDs of the junctions adjacent to the specified edge.

Remarks

GetFromToJunctionEIDs returns the Element IDs of the start (From) and end (To) junctions of the specified edge element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFromToJunctionEIDs in interface INetTopology
Parameters:
edgeEID - The edgeEID (in)
fromJunctionEID - The fromJunctionEID (out: use single element array)
toJunctionEID - The toJunctionEID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAdjacentEdgeCount

public int getAdjacentEdgeCount(int atJunctionEID)
                         throws IOException,
                                AutomationException
Returns the number of edges adjacent to the specified junction.

Remarks

GetAdjacentEdgeCount returns the number of edges connect to the specified junction. This property is often used in conjunction with GetAdjacentEdge or GetAdjacentEdges to loop through the edges connected to a junction.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAdjacentEdgeCount in interface INetTopology
Parameters:
atJunctionEID - The atJunctionEID (in)
Returns:
The adjacentEdgesCount
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAdjacentEdge

public void getAdjacentEdge(int atJunctionEID,
                            int index,
                            int[] adjacentEdge,
                            boolean[] reverseOrientation)
                     throws IOException,
                            AutomationException
Returns the network element ID of the index'th adjacent edge to the specified junction.

Remarks

The GetAdjacentEdge function returns the Element ID of the adjacent edge found at the atJunctionEID that corresponds to the index value.
A ReverseOrientation of True indicates that the Junction is at the To end of the edge, while False indicates the opposite.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAdjacentEdge in interface INetTopology
Parameters:
atJunctionEID - The atJunctionEID (in)
index - The index (in)
adjacentEdge - The adjacentEdge (out: use single element array)
reverseOrientation - The reverseOrientation (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAdjacentEdges

public void getAdjacentEdges(int atJunctionEID,
                             int adjacentEdgesCount,
                             int[] adjacentEdges,
                             boolean[] reverseOrientation)
                      throws IOException,
                             AutomationException
Returns the network element IDs of all the edges adjacent to the specified junction.

Remarks

GetAdjacentEdges returns an array of the edges connected to the specified junction, along with their orientation.

A ReverseOrientation of True indicates that the Junction is at the To end of the edge, while False indicates the opposite.

INetTopology::GetAdjacentEdges is marked as hidden, since its functionality is similar to IForwardStar::QueryAdjacentEdges(). Clients should use QueryAdjacentEdges, or even use IForwardStarGEN::QueryAdjacentEdges, in lieu of using INetTopology::GetAdjacentEdges.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

This method is not callable from Java. Please see INetTopologyEditGEN::GetAdjacentEdges.

Specified by:
getAdjacentEdges in interface INetTopology
Parameters:
atJunctionEID - The atJunctionEID (in)
adjacentEdgesCount - The adjacentEdgesCount (in)
adjacentEdges - The adjacentEdges (out: use single element array)
reverseOrientation - The reverseOrientation (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addJunction

public int addJunction(INetElementDescription junctionDescription)
                throws IOException,
                       AutomationException
Adds a junction element to the logical network.

Remarks

The value returned by AddJunction is the Element ID (EID) for the newly created junction. This value is unique.

Unlike edges, a junction can exist in a logical network without attachment to any edges. When a junction exits in this state (once it has been created using this function call), it is not connected to any other portion of the network, but may have edges connected to it so that it will be part of the network.

Only use this method on stand-alone logical networks.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addJunction in interface INetTopologyEdit
Parameters:
junctionDescription - A reference to a com.esri.arcgis.geodatabase.INetElementDescription (in)
Returns:
The junctionEID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addEdgeByEndEIDs

public int addEdgeByEndEIDs(INetElementDescription edgeDescription,
                            int fromJunctionEID,
                            int toJunctionEID)
                     throws IOException,
                            AutomationException
Adds an edge element to the logical network between the specified junction elements.

Remarks

AddEdgeByEndEIDs adds a new edge between the specified junctions. The value returned by AddEdgeByEndEIDs is the Element ID (EID) for the newly created edge. This value is unique.

Define the parameters of the edge to add in the INetElementDescription object that you pass in.

Only use this method on stand-alone logical networks.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addEdgeByEndEIDs in interface INetTopologyEdit
Parameters:
edgeDescription - A reference to a com.esri.arcgis.geodatabase.INetElementDescription (in)
fromJunctionEID - The fromJunctionEID (in)
toJunctionEID - The toJunctionEID (in)
Returns:
The edgeEID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteByID

public void deleteByID(int userClassID,
                       int userID,
                       int userSubID,
                       int elementType)
                throws IOException,
                       AutomationException
Deletes the specified network element from the logical network.

Remarks

DeleteByID removes the specified feature from the network. Only use this method to remove elements from stand-alone logical networks.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteByID in interface INetTopologyEdit
Parameters:
userClassID - The userClassID (in)
userID - The userID (in)
userSubID - The userSubID (in)
elementType - A com.esri.arcgis.geodatabase.esriElementType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteByEID

public void deleteByEID(int eID,
                        int elementType)
                 throws IOException,
                        AutomationException
Deletes the specified network element from the logical network.

Remarks

DeleteByEID removes the specified element from the network. Only use this method on a stand-alone logical network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteByEID in interface INetTopologyEdit
Parameters:
eID - The eID (in)
elementType - A com.esri.arcgis.geodatabase.esriElementType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteByEIDs

public void deleteByEIDs(int elementType,
                         int elementCount,
                         int[] elementEIDs)
                  throws IOException,
                         AutomationException
Deletes the specified network elements from the logical network.

Remarks

DeleteByEIDs removes the specified array of elements from the network.

Only use this method on stand-alone logical networks.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

This method is not callable from Java. Please use INetTopologyEditGEN::DeleteByEIDs.

Specified by:
deleteByEIDs in interface INetTopologyEdit
Parameters:
elementType - A com.esri.arcgis.geodatabase.esriElementType constant (in)
elementCount - The elementCount (in)
elementEIDs - The elementEIDs (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDisabledState

public boolean getDisabledState(int eID,
                                int elementType)
                         throws IOException,
                                AutomationException
Returns the disabled state of the specified network element.

Remarks

True means the network element is disabled.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDisabledState in interface INetAttributes
Parameters:
eID - The eID (in)
elementType - A com.esri.arcgis.geodatabase.esriElementType constant (in)
Returns:
The disabledState
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWeightValue

public Object getWeightValue(int eID,
                             int elementType,
                             int weightInternalID)
                      throws IOException,
                             AutomationException
Returns the weight value of the specified network element for the specified weight.

Remarks

GetWeightValue will return the attribute value for the specified element based on the specified weight.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getWeightValue in interface INetAttributes
Parameters:
eID - The eID (in)
elementType - A com.esri.arcgis.geodatabase.esriElementType constant (in)
weightInternalID - The weightInternalID (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDisabledState

public void setDisabledState(int eID,
                             int elementType,
                             boolean disableState)
                      throws IOException,
                             AutomationException
Sets the disabled state of the specified network element.

Remarks

Disabling an element in the network is different than creating a barrier on a network element. A disabled element will have an effect when setting the flow direction on a network. Setting barriers on a network through the INetworkAnalysisExtBarriers interface only affects traces.

Only use this method on stand-alone logical networks. For geometric networks, use IRowBuffer::Value and IRow::Store to modify the value of the feature attribute.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setDisabledState in interface INetAttributesEdit
Parameters:
eID - The eID (in)
elementType - A com.esri.arcgis.geodatabase.esriElementType constant (in)
disableState - The disableState (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setWeightValue

public void setWeightValue(int eID,
                           int elementType,
                           int weightInternalID,
                           Object weightValue)
                    throws IOException,
                           AutomationException
Sets the weight value of the specified network element for the specified weight.

Remarks

SetWeightValue will update the attribute value defined by the specified weight for the specified element. Use this method when you want to change the attribute setting a weight will use during tracing routines.

Only use this method on stand-alone logical networks. For geometric networks, use IRowBuffer::Value and IRow::Store to modify the value of the feature attribute.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setWeightValue in interface INetAttributesEdit
Parameters:
eID - The eID (in)
elementType - A com.esri.arcgis.geodatabase.esriElementType constant (in)
weightInternalID - The weightInternalID (in)
weightValue - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getFullName

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

Remarks

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getBrowseName

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

Remarks

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setBrowseName

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getType

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

Remarks

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

Example:


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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getCategory

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

Remarks

IDataset::Category returns a description of the category of the dataset. The description returned from the Category property is the same value that is displayed in the Type column within the Contents tab in ArcCatalog. The value will contain a description of the dataset such as "Topology" prefixed with a description of the type of workspace containing the dataset such as "File Geodatabase".

The description returned from IDataset::Category may change between releases of ArcGIS. In addition to this, returned strings are localized, meaning that code relying on a specific string being provided may fail when deployed with a different version of ArcGIS than it was developed with, or when deployed to a client using a different language than it was developed with.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getSubsets

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

Description

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

Remarks

IDataset::Subsets is not supported for Graph objects such as a Geometric Network. To return the feature classes contained in a Geometric Network, use the IFeatureClassContainer interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getWorkspace

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

Description

The Workspace property returns the containing workspace for this dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getPropertySet

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

Description

The PropertySet property is used to return any additional intrinsic properties (but not metadata properties) that may apply to the dataset. One use of this property is to distinguish between the types of File Geodatabase datafile formats. If called on a Feature Class or Table in a File Geodatabase the Datafile Format property can either be esriFGDBStandardDatafile or esriFGDBCompressedDatafile.

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

Remarks

Examples of intrinsic properties for which explicit methods exist include the SpatialReference and the Extent methods available on the IGeoDataset interface. In most cases this PropertySet will be empty.

IDataset::PropertySet is not supported for Graph objects such as a Geometric Network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

canCopy

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

Remarks

The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.

The CanCopy method is supported by:

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

copy

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

Remarks

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

canDelete

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

Remarks

The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

delete

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

Remarks

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

canRename

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

Remarks

The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete or rename a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

rename

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

Remarks

IDataset::Rename does not support the renaming of Graph objects such as a Geometric Network. In addition, certain feature classes, such as network feature classes, cannot be renamed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isBeingEdited

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

Remarks

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

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isCanEdit

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

Remarks

This property is to be used within an active edit session, results cannot be guaranteed if called on a dataset outside of an edit session.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isCanUndo

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isCanRedo

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

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.

isHasUncompressedEdits

public boolean isHasUncompressedEdits()
                               throws IOException,
                                      AutomationException
Indicates if the object has edits that haven't been compressed yet.

Remarks

The HasUncompressedEdits method returns a boolean value that represents if the dataset contains versioned edits that have not been compressed to the base state.

Knowing if the dataset contains any edits is important prior to unregistering the dataset as versioned.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getVersion

public IVersion getVersion()
                    throws IOException,
                           AutomationException
The object's current version.

Remarks

The Version method returns an IVersion object that is the current version the object references. This provides a mechanism to easily detect the version of the database that an object references.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isRegisteredAsVersioned

public boolean isRegisteredAsVersioned()
                                throws IOException,
                                       AutomationException
Indicates if the object is registered as versioned.

Remarks

Returns if the underlying dataset is registered as versioned. This only applies to datasets that exist in versioned workspaces.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

registerAsVersioned

public void registerAsVersioned(boolean isVersioned)
                         throws IOException,
                                AutomationException
Register/UnRegister the object as being versioned.

Remarks

The RegisterAsVersioned method registers or unregisters datasets. Feature classes that participate in feature datasets can be registered or unregistered, although it is highly recomended that the operation be performed on the entire feature dataset. The method requires a boolean argument, true to register or false to unregister the object.

Unregistering an object class as versioned permanently drops the object's delta tables. To preserve the edits, perform a compress prior to unregistering as versioned. See IVersionedWorkspace.Compress and IVersionedObject2 for additional information.

Only the owner can register or unregister the object.

By programmatically registering a class participating in a geometric network as versioned it does not guarantee the entire geometric network including other participating classes will also be registered. It is then recommended the registration take place at the feature dataset level rather than on the individual feature class. This workflow is exposed by default through the user interface in ArcCatalog. If there is a need to register individual classes as versioned within a feature dataset without registering the entire dataset it is crucial the every class participating in a geometric network, including the geometric network itself, is explicitly registered individually.

Archiving must first be disabaled on a class before it can be unregistered as versioned. This situation only applies to classes that have been registered as versioned with the MoveEditsToBase option set to false through the IVersionObject3.RegisterAsVersioned3 method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

analyze

public void analyze(int tableComponents)
             throws IOException,
                    AutomationException
Analyze the data to update/generate DBMS statistics.

Remarks

When applied to a feature dataset, Analyze updates the statistics for all of the tables.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getAllowableComponents

public int getAllowableComponents()
                           throws IOException,
                                  AutomationException
The allowable components to be analyzed.

Remarks

The AllowableComponents property indicates which parts of the table or feature class can be analyzed. The returned value is based on the esriTableComponents enumeration. Members from this enumeration can be bitwise or’d together.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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