com.esri.arcgis.networkanalyst
Class NAServerPropertySets

java.lang.Object
  extended by com.esri.arcgis.networkanalyst.NAServerPropertySets
All Implemented Interfaces:
com.esri.arcgis.interop.RemoteObjRef, INAServerLocations, INAServerLocations2, INAServerPropertySets, IPersist, IPersistStream, ISupportErrorInfo, IXMLSerialize, IXMLVersionSupport, Externalizable, Serializable

public class NAServerPropertySets
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, INAServerPropertySets, INAServerLocations, INAServerLocations2, IXMLSerialize, IPersist, IPersistStream, ISupportErrorInfo, IXMLVersionSupport, Externalizable

A container for an array of PropertySet objects representing network locations.

Remarks

The NAServerPropertySets object holds an array of PropertySet objects. Each PropertySet represents a network location.

The NAServerPropertySets object can be passed into any of the properties of the NAServerSolverParams objects that expect an INAServerLocations interface pointer. For example, Stops, Barriers, Facilities, or Incidents.

The array of property sets are internally converted into a RecordSet and used to load the network locations. The fields on the RecordSet are determined based on the property names/types contained within the first PropertySet of the array.

At a minimum, each PropertySet should include a shape representing the location of the network location to use for locating. This shape can either be specified by the property "Shape" with a value of a Point geometry object, or it can be specified by the properties "X" and "Y" with a value of type double and optionally a property "SpatialReference" with a value of a spatial reference object. If the spatial reference is not specified, the X and Y are assumed to be in the same spatial reference as the underlying network dataset.

You can choose to use additional properties when loading the network locations. For example, if you specify the network location fields "SourceID" (int), "SourceOID" (int), "PosAlong" (double), and "SideOfEdge" (int), the values in these properties will specify the network location rather than perform a spatial search to determine the network location.

Any other properties can be added to the PropertySet and used when loading network locations. INAServerSolverParams.NAClassCandidateFieldMaps determines which properties map to NAClass fields.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
NAServerPropertySets()
          Constructs a NAServerPropertySets using ArcGIS Engine.
NAServerPropertySets(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
NAServerPropertySets theNAServerPropertySets = (NAServerPropertySets) obj;
 
Method Summary
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 boolean equals(Object o)
          Compare this object with another
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 String getMinNamespaceSupported()
          The minimum namespace the class can serialize to (eg the 90 namespace).
 IPropertySetArray getPropertySets()
          Array of property sets.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 void isDirty()
          isDirty
 boolean isDoNotLocateOnRestrictedElements()
          Indicates if restricted network elements should be considered when finding network locations.
 void load(IStream pstm)
          load
 void readExternal(ObjectInput in)
           
 void save(IStream pstm, int fClearDirty)
          save
 void serialize(IXMLSerializeData data)
          Serializes an object to XML.
 void setDoNotLocateOnRestrictedElements(boolean pValue)
          Indicates if restricted network elements should be considered when finding network locations.
 void setPropertySetsByRef(IPropertySetArray ppValue)
          Array of property sets.
 void writeExternal(ObjectOutput out)
           
 
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

NAServerPropertySets

public NAServerPropertySets()
                     throws IOException,
                            UnknownHostException
Constructs a NAServerPropertySets using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

NAServerPropertySets

public NAServerPropertySets(Object obj)
                     throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
NAServerPropertySets theNAServerPropertySets = (NAServerPropertySets) obj;

Construct a NAServerPropertySets using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to NAServerPropertySets.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


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

getPropertySets

public IPropertySetArray getPropertySets()
                                  throws IOException,
                                         AutomationException
Array of property sets.

Remarks

The PropertySets property provides access to the IPropertySetArray interface holding an array PropertySet objects. Each PropertySet represents a network location.

The array of property sets will internally be converted into a RecordSet and used to load the network locations. The fields on the RecordSet will be determined based on the property names/types contained within the first PropertySet of the array.

At a minimum, each PropertySet should include a shape representing the location of the network location to use for locating. This shape can either be specified by the property "Shape" with a value of a Point geometry object or it can be specified by the properties "X" and "Y" with a value of type double and optionally a property "SpatialReference" with a value of a spatial reference object. If the spatial reference is not specified, the X and Y are assumed to be in the same spatial reference as the underlying network dataset.

You can also add additional properties that you wish to be used when loading the network locations. For example, if you specify the network location fields "SourceID" (int), "SourceOID" (int), "PosAlong" (double), and "SideOfEdge" (int) the values in these properties will specify the network location rather than performing a spatial search to determine the network location.

Any other properties can be added to the PropertySet and may be used when loading network locations. What properties map to NAClass fields is a function of INAServerSolverParams.NAClassCandidateFieldMaps.

Product Availability

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

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

setPropertySetsByRef

public void setPropertySetsByRef(IPropertySetArray ppValue)
                          throws IOException,
                                 AutomationException
Array of property sets.

Remarks

The PropertySets property provides access to the IPropertySetArray interface holding an array PropertySet objects. Each PropertySet represents a network location.

The array of property sets will internally be converted into a RecordSet and used to load the network locations. The fields on the RecordSet will be determined based on the property names/types contained within the first PropertySet of the array.

At a minimum, each PropertySet should include a shape representing the location of the network location to use for locating. This shape can either be specified by the property "Shape" with a value of a Point geometry object or it can be specified by the properties "X" and "Y" with a value of type double and optionally a property "SpatialReference" with a value of a spatial reference object. If the spatial reference is not specified, the X and Y are assumed to be in the same spatial reference as the underlying network dataset.

You can also add additional properties that you wish to be used when loading the network locations. For example, if you specify the network location fields "SourceID" (int), "SourceOID" (int), "PosAlong" (double), and "SideOfEdge" (int) the values in these properties will specify the network location rather than performing a spatial search to determine the network location.

Any other properties can be added to the PropertySet and may be used when loading network locations. What properties map to NAClass fields is a function of INAServerSolverParams.NAClassCandidateFieldMaps.

Product Availability

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

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

isDoNotLocateOnRestrictedElements

public boolean isDoNotLocateOnRestrictedElements()
                                          throws IOException,
                                                 AutomationException
Indicates if restricted network elements should be considered when finding network locations.

Remarks

DoNotLocateOnRestrictedElements indicates if the loader should avoid locating the network locations on network elements that are restricted by Barriers, PolylineBarriers, PolygonBarriers or due to the set of restrictions specified by NAServerSolverParams.RestrictionAttributeNames.

Product Availability

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

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

setDoNotLocateOnRestrictedElements

public void setDoNotLocateOnRestrictedElements(boolean pValue)
                                        throws IOException,
                                               AutomationException
Indicates if restricted network elements should be considered when finding network locations.

Remarks

DoNotLocateOnRestrictedElements indicates if the loader should avoid locating the network locations on network elements that are restricted by Barriers, PolylineBarriers, PolygonBarriers or due to the set of restrictions specified by NAServerSolverParams.RestrictionAttributeNames.

Product Availability

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

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

serialize

public void serialize(IXMLSerializeData data)
               throws IOException,
                      AutomationException
Serializes an object to XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

deserialize

public void deserialize(IXMLSerializeData data)
                 throws IOException,
                        AutomationException
Deserializes an object from XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getClassID

public void getClassID(GUID[] pClassID)
                throws IOException,
                       AutomationException
getClassID

Description

IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassID in interface IPersist
Parameters:
pClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDirty

public void isDirty()
             throws IOException,
                    AutomationException
isDirty

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

load

public void load(IStream pstm)
          throws IOException,
                 AutomationException
load

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

save

public void save(IStream pstm,
                 int fClearDirty)
          throws IOException,
                 AutomationException
save

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
save in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
fClearDirty - The fClearDirty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeMax

public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
                throws IOException,
                       AutomationException
getSizeMax

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinNamespaceSupported

public String getMinNamespaceSupported()
                                throws IOException,
                                       AutomationException
The minimum namespace the class can serialize to (eg the 90 namespace).

Product Availability

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

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

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException