com.esri.arcgis.networkanalysis
Class EdgeFlagDisplay

java.lang.Object
  extended by com.esri.arcgis.networkanalysis.EdgeFlagDisplay
All Implemented Interfaces:
IFeatureDraw, com.esri.arcgis.interop.RemoteObjRef, IEdgeFlagDisplay, IFlagDisplay, IDocumentVersionSupportGEN, IPersist, IPersistStream, ISupportErrorInfo, Externalizable, Serializable

public class EdgeFlagDisplay
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IFlagDisplay, IEdgeFlagDisplay, IFeatureDraw, ISupportErrorInfo, IPersistStream, IDocumentVersionSupportGEN, Externalizable

A container for defining and displaying a network flag or barrier on an edge feature of a network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
com.esri.arcgis.editorext.UtilityNetworkAnalysisExt, Serialized Form

Constructor Summary
EdgeFlagDisplay()
          Constructs a EdgeFlagDisplay using ArcGIS Engine.
EdgeFlagDisplay(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
EdgeFlagDisplay theEdgeFlagDisplay = (EdgeFlagDisplay) obj;
 
Method Summary
 Object convertToSupportedObject(int docVersion)
          Convert the object to another object that is supported.
 void draw(int drawPhase, IDisplay display, ISymbol symbol, boolean symbolInstalled, IGeometry geometry, int drawStyle)
          Draws the feature on the display.
 boolean equals(Object o)
          Compare this object with another
 void getClassID(GUID[] pClassID)
          getClassID
 int getClientClassID()
          User-specified client class ID of this flag.
 int getClientFID()
          User-specified feature ID of the flag.
static String getClsid()
          getClsid.
 int getFeatureClassID()
          Feature class ID of the element on which the flag is placed.
 int getFID()
          Feature ID of the network element on which the flag is placed.
 IGeometry getGeometry()
          Point object containing the flag's coordinates.
 IInvalidArea getInvalidArea()
          The area to be drawn.
 double getPercentage()
          Position of the flag along the edge element.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 int getSubID()
          Sub ID of the network element on which the flag is placed.
 ISymbol getSymbol()
          Symbol used to display the flag.
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 void isDirty()
          isDirty
 boolean isSupportedAtVersion(int docVersion)
          Is this object valid at the given document version.
 void load(IStream pstm)
          load
 void readExternal(ObjectInput in)
           
 void save(IStream pstm, int fClearDirty)
          save
 void setClientClassID(int clientClassID)
          User-specified client class ID of this flag.
 void setClientFID(int clientFID)
          User-specified feature ID of the flag.
 void setFeatureClassID(int fClassID)
          Feature class ID of the element on which the flag is placed.
 void setFID(int fID)
          Feature ID of the network element on which the flag is placed.
 void setGeometryByRef(IGeometry geometry)
          Point object containing the flag's coordinates.
 void setInvalidAreaByRef(IInvalidArea invalidArea)
          The area to be drawn.
 void setPercentage(double percentage)
          Position of the flag along the edge element.
 void setSubID(int subID)
          Sub ID of the network element on which the flag is placed.
 void setSymbolByRef(ISymbol symbol)
          Symbol used to display the flag.
 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

EdgeFlagDisplay

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

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

EdgeFlagDisplay

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

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

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

getFID

public int getFID()
           throws IOException,
                  AutomationException
Feature ID of the network element on which the flag is placed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFID in interface IFlagDisplay
Returns:
The fID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFID

public void setFID(int fID)
            throws IOException,
                   AutomationException
Feature ID of the network element on which the flag is placed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getSubID

public int getSubID()
             throws IOException,
                    AutomationException
Sub ID of the network element on which the flag is placed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSubID in interface IFlagDisplay
Returns:
The subID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSubID

public void setSubID(int subID)
              throws IOException,
                     AutomationException
Sub ID of the network element on which the flag is placed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getFeatureClassID

public int getFeatureClassID()
                      throws IOException,
                             AutomationException
Feature class ID of the element on which the flag is placed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFeatureClassID in interface IFlagDisplay
Returns:
The fClassID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFeatureClassID

public void setFeatureClassID(int fClassID)
                       throws IOException,
                              AutomationException
Feature class ID of the element on which the flag is placed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getSymbol

public ISymbol getSymbol()
                  throws IOException,
                         AutomationException
Symbol used to display the flag.

Remarks

This property is used only for displaying of the flag in ArcMap.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSymbol in interface IFlagDisplay
Returns:
A reference to a com.esri.arcgis.display.ISymbol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolByRef

public void setSymbolByRef(ISymbol symbol)
                    throws IOException,
                           AutomationException
Symbol used to display the flag.

Remarks

This property is used only for displaying of the flag in ArcMap.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSymbolByRef in interface IFlagDisplay
Parameters:
symbol - A reference to a com.esri.arcgis.display.ISymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGeometry

public IGeometry getGeometry()
                      throws IOException,
                             AutomationException
Point object containing the flag's coordinates.

Remarks

This property is primarily used for displaying the flag in ArcMap.

It is also used by the Utility Network Analysis extension for relocating the flag on the geometric network after edits have been made to the geodatabase.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getGeometry in interface IFlagDisplay
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setGeometryByRef

public void setGeometryByRef(IGeometry geometry)
                      throws IOException,
                             AutomationException
Point object containing the flag's coordinates.

Remarks

This property is primarily used for displaying the flag in ArcMap.

It is also used by the Utility Network Analysis extension for relocating the flag on the geometric network after edits have been made to the geodatabase.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setGeometryByRef in interface IFlagDisplay
Parameters:
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClientClassID

public int getClientClassID()
                     throws IOException,
                            AutomationException
User-specified client class ID of this flag.

Remarks

Use the ClientClassID property if you want to associate flags with features that do not participate in the network. For example, if you wanted to create flags from a point feature class that did not participate in the network, you could create a flag object for each feature in the feature class, and assign the feature class ID and feature ID from the original feature class to each flag you create.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClientClassID in interface IFlagDisplay
Returns:
The clientClassID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setClientClassID

public void setClientClassID(int clientClassID)
                      throws IOException,
                             AutomationException
User-specified client class ID of this flag.

Remarks

Use the ClientClassID property if you want to associate flags with features that do not participate in the network. For example, if you wanted to create flags from a point feature class that did not participate in the network, you could create a flag object for each feature in the feature class, and assign the feature class ID and feature ID from the original feature class to each flag you create.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getClientFID

public int getClientFID()
                 throws IOException,
                        AutomationException
User-specified feature ID of the flag.

Remarks

Use the ClientFID property if you want to associate flags with features that do not participate in the network. For example, if you wanted to create flags from a point feature class that did not participate in the network, you could create a flag object for each feature in the feature class, and assign the feature class ID and feature ID from the original feature class to each flag you create.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClientFID in interface IFlagDisplay
Returns:
The clientFID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setClientFID

public void setClientFID(int clientFID)
                  throws IOException,
                         AutomationException
User-specified feature ID of the flag.

Remarks

Use the ClientFID property if you want to associate flags with features that do not participate in the network. For example, if you wanted to create flags from a point feature class that did not participate in the network, you could create a flag object for each feature in the feature class, and assign the feature class ID and feature ID from the original feature class to each flag you create.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getPercentage

public double getPercentage()
                     throws IOException,
                            AutomationException
Position of the flag along the edge element.

Remarks

The Percentage property specifies the percentage along the feature, measured from the start node of the feature's geometry, at which the flag is located.
The percentage can be a value between 0 and 1.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getPercentage in interface IEdgeFlagDisplay
Returns:
The percentage
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPercentage

public void setPercentage(double percentage)
                   throws IOException,
                          AutomationException
Position of the flag along the edge element.

Remarks

The Percentage property specifies the percentage along the feature, measured from the start node of the feature's geometry, at which the flag is located.
The percentage can be a value between 0 and 1.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

draw

public void draw(int drawPhase,
                 IDisplay display,
                 ISymbol symbol,
                 boolean symbolInstalled,
                 IGeometry geometry,
                 int drawStyle)
          throws IOException,
                 AutomationException
Draws the feature on the display.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
draw in interface IFeatureDraw
Parameters:
drawPhase - A com.esri.arcgis.system.esriDrawPhase constant (in)
display - A reference to a com.esri.arcgis.display.IDisplay (in)
symbol - A reference to a com.esri.arcgis.display.ISymbol (in)
symbolInstalled - The symbolInstalled (in)
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
drawStyle - A com.esri.arcgis.geodatabase.esriDrawStyle constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setInvalidAreaByRef

public void setInvalidAreaByRef(IInvalidArea invalidArea)
                         throws IOException,
                                AutomationException
The area to be drawn.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getInvalidArea

public IInvalidArea getInvalidArea()
                            throws IOException,
                                   AutomationException
The area to be drawn.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getInvalidArea in interface IFeatureDraw
Returns:
A reference to a com.esri.arcgis.geodatabase.IInvalidArea
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.

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.

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.

isSupportedAtVersion

public boolean isSupportedAtVersion(int docVersion)
                             throws IOException,
                                    AutomationException
Is this object valid at the given document version.

Remarks

Use IsSupportedAtVersion to identify if a particular object should be saved to the ObjectStream. This result is based on the esriArcGISVersion enumeration. In some instances, if the object is not supported at a particular ArcGIS version, the object may support conversion to another similar object; use IDocumentVersionSupportGEN::ConvertToSupportedObject to accomplish this.

Product Availability

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

Specified by:
isSupportedAtVersion in interface IDocumentVersionSupportGEN
Parameters:
docVersion - A com.esri.arcgis.system.esriArcGISVersion constant (in)
Returns:
The supported
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

convertToSupportedObject

public Object convertToSupportedObject(int docVersion)
                                throws IOException,
                                       AutomationException
Convert the object to another object that is supported.

Remarks

This method should be used when IDocumentVersionSupportGEN::IsSupportedAtVersion returns FALSE. Calling ConvertToSupportedObject will return an IUnknown pointer to a relevant object supported at the particular ArcGIS version. Not all objects will return a supported object; in these cases a null pointer will be returned.

Product Availability

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

Specified by:
convertToSupportedObject in interface IDocumentVersionSupportGEN
Parameters:
docVersion - A com.esri.arcgis.system.esriArcGISVersion constant (in)
Returns:
A Variant
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