com.esri.arcgis.datasourcesfile
Class ISMRouterProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.datasourcesfile.ISMRouterProxy
All Implemented Interfaces:
ISMRouter, Externalizable, Serializable

public class ISMRouterProxy
extends com.esri.arcgis.interop.Dispatch
implements ISMRouter, Serializable

Provides access to the main functionality for route finding.

Description

Provides main functionality for finding routes. Contains a number of properties that allow to query and change different settings of the route solver.

Product Availability

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

See Also:
Serialized Form

Field Summary
 boolean noncastable
           
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, objRef
 
Constructor Summary
  ISMRouterProxy()
           
  ISMRouterProxy(Object obj)
           
protected ISMRouterProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 ISMNetBarriersCollection getBarriers()
          The network barriers collection of the router object.
 ISMFlagCreator getFlagCreator()
          The flag creator used by the router object.
 String getNetAttributeName()
          The network attribute that the router object currently uses.
 ISMNetAttributesCollection getNetAttributes()
          The network attributes collection of the router object.
 ISMNetAttributesAccess getNetAttributesAccess()
          The network attributes access of the router object.
 ISMRoadPreferences getPreferences()
          The road preferences used by the router object.
 String getProjectionString()
          The spatial reference of the source data used by the router object.
 ISMSpeedGroups getSpeedGroups()
          The speed groups used by the router object.
 ISMTripPlanSettings getTripPlanSettings()
          The trip planning settings used by the router object.
 void removeListener(String iidStr, Object theListener)
           
 ISMStopsCollection reorderStops(ISMStopsCollection pISrcStops)
          Reorders the stops collection to minimize total driving time or distance.
 void setNetAttributeName(String pVal)
          The network attribute that the router object currently uses.
 ISMDirections solve(ISMStopsCollection pIStops, ISMBreakTracker pITracker)
          Calculates the route using the current settings of the router object.
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, optimizedVtblInvoke, queryInterface, readExternal, release, setNativeMode, setPropertyByName, toString, vtblInvoke, writeExternal
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

noncastable

public boolean noncastable
Constructor Detail

ISMRouterProxy

public ISMRouterProxy()

ISMRouterProxy

public ISMRouterProxy(Object obj)
               throws IOException
Throws:
IOException

ISMRouterProxy

protected ISMRouterProxy(Object obj,
                         String iid)
                  throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

getBarriers

public ISMNetBarriersCollection getBarriers()
                                     throws IOException,
                                            AutomationException
The network barriers collection of the router object.

Description

Returns the network barriers collection interface of the router object.

Product Availability

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

Specified by:
getBarriers in interface ISMRouter
Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMNetBarriersCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNetAttributes

public ISMNetAttributesCollection getNetAttributes()
                                            throws IOException,
                                                   AutomationException
The network attributes collection of the router object.

Description

Returns the network attributes collection interface of the router object.

Product Availability

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

Specified by:
getNetAttributes in interface ISMRouter
Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMNetAttributesCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPreferences

public ISMRoadPreferences getPreferences()
                                  throws IOException,
                                         AutomationException
The road preferences used by the router object.

Description

Returns the road preferences interface of the router.

Product Availability

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

Specified by:
getPreferences in interface ISMRouter
Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMRoadPreferences
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpeedGroups

public ISMSpeedGroups getSpeedGroups()
                              throws IOException,
                                     AutomationException
The speed groups used by the router object.

Description

Returns the speed groups interface of the router object.

Product Availability

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

Specified by:
getSpeedGroups in interface ISMRouter
Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMSpeedGroups
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTripPlanSettings

public ISMTripPlanSettings getTripPlanSettings()
                                        throws IOException,
                                               AutomationException
The trip planning settings used by the router object.

Description

Returns the trip planning settings interface of the router object.

Product Availability

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

Specified by:
getTripPlanSettings in interface ISMRouter
Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMTripPlanSettings
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNetAttributeName

public String getNetAttributeName()
                           throws IOException,
                                  AutomationException
The network attribute that the router object currently uses.

Description

Returns the network attribute that the router object currently uses.

Remarks

Currently SMRouter supports two network attributes: "Time" and "Length". Assign the NetAttributeName value "Time" if you want to find the quickest route. Assign the NetAttributeName value "Length" if you want to find the shortest route.

Product Availability

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

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

setNetAttributeName

public void setNetAttributeName(String pVal)
                         throws IOException,
                                AutomationException
The network attribute that the router object currently uses.

Description

Sets the network attribute that the router will use.

Remarks

Currently SMRouter supports two network attributes: "Time" and "Length". Assign the NetAttributeName value "Time" if you want to find quickest route. Assign the NetAttributeName value "Length" if you want to find shortest route.

Product Availability

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

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

reorderStops

public ISMStopsCollection reorderStops(ISMStopsCollection pISrcStops)
                                throws IOException,
                                       AutomationException
Reorders the stops collection to minimize total driving time or distance.

Description

Solves the TSP and repositions the stops collection, that is passed in, according to task solution.

Product Availability

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

Specified by:
reorderStops in interface ISMRouter
Parameters:
pISrcStops - A reference to a com.esri.arcgis.datasourcesfile.ISMStopsCollection (in)
Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMStopsCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

solve

public ISMDirections solve(ISMStopsCollection pIStops,
                           ISMBreakTracker pITracker)
                    throws IOException,
                           AutomationException
Calculates the route using the current settings of the router object.

Description

Builds the route using all the current settings of the router object.

Remarks

The method returns the SMDirections object that contains the resulting path and driving directions texts. If no route is found then the method returns Nothing.


You need to pass an implementation of ISMBreakTracker interface as pBreakTracker parameter's value if you want to break route finding process according to some condition. If you don't need such functionality you can pass Nothing as the parameter's value.

Product Availability

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

Specified by:
solve in interface ISMRouter
Parameters:
pIStops - A reference to a com.esri.arcgis.datasourcesfile.ISMStopsCollection (in)
pITracker - A reference to a com.esri.arcgis.datasourcesfile.ISMBreakTracker (in)
Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMDirections
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNetAttributesAccess

public ISMNetAttributesAccess getNetAttributesAccess()
                                              throws IOException,
                                                     AutomationException
The network attributes access of the router object.

Description

Returns the network attributes access interface of the router object.

Product Availability

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

Specified by:
getNetAttributesAccess in interface ISMRouter
Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMNetAttributesAccess
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getProjectionString

public String getProjectionString()
                           throws IOException,
                                  AutomationException
The spatial reference of the source data used by the router object.

Description

Returns the projection string that corresponds to projection information of the routing data which the router object was created on.

Remarks

Projection string is returned in the same format as the CreateESRISpatialReferenceFromPRJ() method of the ISpatialReferenceFactory.

Product Availability

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

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

getFlagCreator

public ISMFlagCreator getFlagCreator()
                              throws IOException,
                                     AutomationException
The flag creator used by the router object.

Description

Returns the flag creator interface of the router object.

Product Availability

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

Specified by:
getFlagCreator in interface ISMRouter
Returns:
A reference to a com.esri.arcgis.datasourcesfile.ISMFlagCreator
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.