com.esri.arcgis.networkanalyst
Interface INAClassDefinition

All Superinterfaces:
Serializable
All Known Implementing Classes:
NAClassDefinition

public interface INAClassDefinition
extends Serializable

Provides access to properties common to all network analyst class definitions.

Remarks

INAClassDefinition is the main interface on the NAClassDefinition object. It provides properties for things like the NAClass name, its field types, the candidate field names used during bulk loading of network location features, if the NAClass is for input and/or output and the upper and lower bound of features in the class required for analysis.

The INAClassDefinitionEdit interface should be used if you want to modify the properties of an NAClassDefinition object.

See the help for the NAClassDefinition CoClass for more information.

Product Availability

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


Method Summary
 IStringArray getCandidateFieldNames(String fieldName)
          The field names that will be used by default for the network analyst class.
 IUID getClassCLSID()
          The COM class id for the network analyst class.
 IFields getFields()
          The fields for the network analyst class.
 int getFieldType(String fieldName)
          The field type for a network analyst class field.
 int getLowerBound()
          The minimum number of objects required in the class by the solver to perform analysis.
 String getName()
          The name of the class.
 int getUpperBound()
          The maximum number of objects allowed in the class by the solver to perform analysis.
 boolean isHasLocationFields()
          Indicates if the class has location fields.
 boolean isInput()
          Indicates if the class is used as an input to analysis.
 boolean isOutput()
          Indicates if the class is used as an output from analysis.
 

Method Detail

getName

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

Remarks

Name returns the name of the NAClass.

Product Availability

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

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

getClassCLSID

IUID getClassCLSID()
                   throws IOException,
                          AutomationException
The COM class id for the network analyst class.

Remarks

ClassCLSID returns the CLSID of the row returned from the NAClass. By default this value is "{D4D5923C-EA31-4B8D-9050-6429CF17AB41}" which represents "esriNetworkAnalyst.NALocationFeature.1".

Product Availability

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

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

getFields

IFields getFields()
                  throws IOException,
                         AutomationException
The fields for the network analyst class.

Remarks

Fields returns the fields on the NAClass.

Product Availability

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

Returns:
A reference to a com.esri.arcgis.geodatabase.IFields
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFieldType

int getFieldType(String fieldName)
                 throws IOException,
                        AutomationException
The field type for a network analyst class field.

Product Availability

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

Parameters:
fieldName - The fieldName (in)
Returns:
The naFieldType
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCandidateFieldNames

IStringArray getCandidateFieldNames(String fieldName)
                                    throws IOException,
                                           AutomationException
The field names that will be used by default for the network analyst class.

Product Availability

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

Parameters:
fieldName - The fieldName (in)
Returns:
A reference to a com.esri.arcgis.system.IStringArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasLocationFields

boolean isHasLocationFields()
                            throws IOException,
                                   AutomationException
Indicates if the class has location fields.

Remarks

HasLocationFields returns true if the NAClass has the 4 fields (SourceID, SourceOID, PosAlong, and SideOfEdge) that are necessary to represent network locations.

Product Availability

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

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

getLowerBound

int getLowerBound()
                  throws IOException,
                         AutomationException
The minimum number of objects required in the class by the solver to perform analysis.

Remarks

LowerBound specifies the minimum number of NALocationObjects that are required by the solver to perform analysis.

For example, an NARouteSolver requires at least 2 stops. This means that the LowerBound property of the Stop's NAClassDefinition would be 2.

Product Availability

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

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

getUpperBound

int getUpperBound()
                  throws IOException,
                         AutomationException
The maximum number of objects allowed in the class by the solver to perform analysis.

Remarks

UpperBound specifies the maximum number of NALocationObjects that are allowed by the solver to perform analysis.

Product Availability

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

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

isInput

boolean isInput()
                throws IOException,
                       AutomationException
Indicates if the class is used as an input to analysis.

Remarks

IsInput specifies if the NAClass is used as input to the solver.

Product Availability

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

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

isOutput

boolean isOutput()
                 throws IOException,
                        AutomationException
Indicates if the class is used as an output from analysis.

Remarks

IsOutput specifies if the NAClass is used as output by the solver.

Product Availability

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

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