com.esri.arcgis.geodatabase
Class IUtilityNetwork2Proxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.geodatabase.INetworkProxy
          extended by com.esri.arcgis.geodatabase.IUtilityNetworkProxy
              extended by com.esri.arcgis.geodatabase.IUtilityNetwork2Proxy
All Implemented Interfaces:
INetwork, IUtilityNetwork, IUtilityNetwork2, Externalizable, Serializable

public class IUtilityNetwork2Proxy
extends IUtilityNetworkProxy
implements IUtilityNetwork2, Serializable

Provides access to members that get and set flow direction in a utility network.

Remarks

The only elements in a network that can have flow are edge elements. Junction elements do not have flow.

Flow is maintained in the logical network and not the geometric network. Unlike creating flags, which is done on a feature in the geometric network, changing flow direction on individual elements requires that you directly manipulate the logical network.

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.

Supported Platforms

Windows, Solaris, Linux

Not all members are callable from Java. Please use IUtilityNetworkGEN instead.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  IUtilityNetwork2Proxy()
           
  IUtilityNetwork2Proxy(Object obj)
           
protected IUtilityNetwork2Proxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 void partialEstablishFlowDirection(int sourceCount, int[] sourceEIDs, int sinkCount, int[] sinkEIDs)
          Sets the flow direction of all reachable edge elements based on the placement of sources and sinks.
 void readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class com.esri.arcgis.geodatabase.IUtilityNetworkProxy
establishFlowDirection, getFlowDirection, isValidFlowDirection, setFlowDirection
 
Methods inherited from class com.esri.arcgis.geodatabase.INetworkProxy
createForwardStar, createNetBrowser, getEdgeCount, getJunctionCount, getMaxDegree, getMaxTurn, getStatus, getTurnCount
 
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, queryInterface, release, setNativeMode, setPropertyByName, toString, vtblInvoke
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.geodatabase.IUtilityNetwork
establishFlowDirection, getFlowDirection, isValidFlowDirection, setFlowDirection
 
Methods inherited from interface com.esri.arcgis.geodatabase.INetwork
createForwardStar, createNetBrowser, getEdgeCount, getJunctionCount, getMaxDegree, getMaxTurn, getStatus, getTurnCount
 

Constructor Detail

IUtilityNetwork2Proxy

public IUtilityNetwork2Proxy()

IUtilityNetwork2Proxy

public IUtilityNetwork2Proxy(Object obj)
                      throws IOException
Throws:
IOException

IUtilityNetwork2Proxy

protected IUtilityNetwork2Proxy(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 IUtilityNetworkProxy
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class IUtilityNetworkProxy
Throws:
IOException

partialEstablishFlowDirection

public void partialEstablishFlowDirection(int sourceCount,
                                          int[] sourceEIDs,
                                          int sinkCount,
                                          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 IUtilityNetwork::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.

Supported Platforms

Windows, Solaris, Linux

This method is not callable from Java. Please use IUtilityNetworkGEN::PartialEstablishFlowDirection.

Specified by:
partialEstablishFlowDirection in interface IUtilityNetwork2
Parameters:
sourceCount - The sourceCount (in)
sourceEIDs - The sourceEIDs (in)
sinkCount - The sinkCount (in)
sinkEIDs - The sinkEIDs (in)
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
Overrides:
writeExternal in class IUtilityNetworkProxy
Throws:
IOException

readExternal

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