com.esri.arcgis.geodatabase
Class NetworkSource

java.lang.Object
  extended by com.esri.arcgis.geodatabase.NetworkSource
All Implemented Interfaces:
INetworkSource, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class NetworkSource
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, INetworkSource

A container for describing a network dataset source.

Description

A network source is a feature class or table that is used to generate network elements into a network dataset. A NetworkSource object is a light weight object that holds the information about a network source in a network dataset.

The NetworkSource object for an existing network dataset can be accessed through the INetworkDataset interface.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
NetworkSource(Object obj)
          Construct a NetworkSource using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
 int getElementType()
          Network element type of this network source.
 int getID()
          Unique identifier of this network source.
 String getName()
          Name of the class associated with this network source.
 INetworkSourceDirections getNetworkSourceDirections()
          The driving directions settings for this network source.
 IPropertySet getProperties()
          Property set of this network source.
 int getSourceType()
          Type of network source.
 int hashCode()
          the hashcode for this object
 boolean isUsesGeometryInConnectivity()
          Indicates if the source object's geometry is used in determining network connectivity.
 void setElementType(int elementType)
          Network element type of this network source.
 void setName(String sourceName)
          Name of the class associated with this network source.
 void setNetworkSourceDirectionsByRef(INetworkSourceDirections sourceDirections)
          The driving directions settings for this network source.
 void setProperties(IPropertySet sourceProperties)
          Property set of this network source.
 
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

NetworkSource

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

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

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

getID

public int getID()
          throws IOException,
                 AutomationException
Unique identifier of this network source.

Remarks

Each source in a Network Dataset is identified by a unique value, the ID property. The ID property can be used to get a reference to the corresponding network source through the INetworkDataset::SourceByID property. This ID is different than the ID value returned by the IObjectClass::ObjectClassID property.

As with ObjectID values, SourceID values are never reused. They are not guaranteed to be sequential, but are guaranteed to be in increasing order based on when the source was added to the network. Unless the source is added or deleted from the DataElement, the SourceID values will remain constant after the INetworkDataset::UpdateSchema method is called.

Product Availability

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

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

getElementType

public int getElementType()
                   throws IOException,
                          AutomationException
Network element type of this network source.

Product Availability

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

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

setElementType

public void setElementType(int elementType)
                    throws IOException,
                           AutomationException
Network element type of this network source.

Product Availability

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

Specified by:
setElementType in interface INetworkSource
Parameters:
elementType - A com.esri.arcgis.geodatabase.esriNetworkElementType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

public String getName()
               throws IOException,
                      AutomationException
Name of the class associated with this network source.

Remarks

The Name property for the NetworkSource is exactly the same as the name of the reference FeatureClass. The feature classes that participate in the network dataset can be opened from the NetworkDataset by simply calling IFeatureClassContainer::ClassByName and passing in this Name.

NOTE: For SDC network datasets, not all network sources have a reference feature class. Only those feature classes returned in the IFeatureClassContainer::Classes enumeration can be opened.

Unlike other network dataset types, the source names for an SDC network dataset are not the same as the feature class names of the SDC feature classes. For SDC data, the source name for the edge feature source is the same as the network dataset name (obtained from IDataset::Name).

Product Availability

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

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

setName

public void setName(String sourceName)
             throws IOException,
                    AutomationException
Name of the class associated with this network source.

Product Availability

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

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

getProperties

public IPropertySet getProperties()
                           throws IOException,
                                  AutomationException
Property set of this network source.

Product Availability

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

Specified by:
getProperties in interface INetworkSource
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.

setProperties

public void setProperties(IPropertySet sourceProperties)
                   throws IOException,
                          AutomationException
Property set of this network source.

Product Availability

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

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

isUsesGeometryInConnectivity

public boolean isUsesGeometryInConnectivity()
                                     throws IOException,
                                            AutomationException
Indicates if the source object's geometry is used in determining network connectivity.

Remarks

The UsesGeometryInConnectivity property indicates whether the geometries of the features in a NetworkSource are used in determining how its network elements are connected to each other.

For example, the geometries of the features in an EdgeFeatureSource and JunctionFeatureSource are used to determine how the generated edge and junction elements connect to each other. The UsesGeometryInConnectivity property for these sources is True.

In contrast, the geometries of the features in a TurnFeatureSource are not used in deteriming how the turn elements are associated with the edges and junctions of the network -- the fields of the TurnFeatureSource feature class determine this. The UsesGeometryInConnectivity property for the TurnFeatureSource is False.

Product Availability

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

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

getSourceType

public int getSourceType()
                  throws IOException,
                         AutomationException
Type of network source.

Product Availability

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

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

getNetworkSourceDirections

public INetworkSourceDirections getNetworkSourceDirections()
                                                    throws IOException,
                                                           AutomationException
The driving directions settings for this network source.

Remarks

The NetworkSourceDirections property specifies the information needed to generate driving directions when reporting routes traversing elements from this NetworkSource.

Product Availability

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

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

setNetworkSourceDirectionsByRef

public void setNetworkSourceDirectionsByRef(INetworkSourceDirections sourceDirections)
                                     throws IOException,
                                            AutomationException
The driving directions settings for this network source.

Product Availability

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

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