com.esri.arcgis.carto
Class RepresentationRenderer

java.lang.Object
  extended by com.esri.arcgis.carto.RepresentationRenderer
All Implemented Interfaces:
IDataExclusion2, IDataLayer, IExportSupport, IFeatureRenderer, IIdentify, ILayerSymbologyExtents, ILegendInfo, ILevelRenderer, ILookupLegendClass, ILookupSymbol, IRendererClasses, IRepresentationRenderer, com.esri.arcgis.interop.RemoteObjRef, IDocumentVersionSupportGEN, IPersist, IPersistStream, Externalizable, Serializable

public class RepresentationRenderer
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IFeatureRenderer, IRepresentationRenderer, IPersist, IPersistStream, IRendererClasses, ILegendInfo, ILevelRenderer, IDataLayer, ILayerSymbologyExtents, IIdentify, ILookupSymbol, IDocumentVersionSupportGEN, IExportSupport, IDataExclusion2, ILookupLegendClass, Externalizable

A renderer that draws features using representation information stored in the layer’s data source.

Description

In the Layer Properties/Symbology/Show list in ArcMap, the Representation Renderer corresponds to a representation class under Representations section.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
RepresentationRenderer()
          Constructs a RepresentationRenderer using ArcGIS Engine.
RepresentationRenderer(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
RepresentationRenderer theRepresentationRenderer = (RepresentationRenderer) obj;
 
Method Summary
 boolean canRender(IFeatureClass featClass, IDisplay display)
          Indicates if the specified feature class can be rendered on the given display.
 boolean connect(IName pOptRepairName)
          Connects the layer to its data source.
 Object convertToSupportedObject(int docVersion)
          Convert the object to another object that is supported.
 void disconnect()
          Disconnects the data from the renderer.
 void draw(IFeatureCursor cursor, int drawPhase, IDisplay display, ITrackCancel trackCancel)
          Draws features from the specified cursor on the given display.
 boolean equals(Object o)
          Compare this object with another
 String esri_getClass(int index)
          Class name.
 void expandRegionForSymbols(IDisplay pDisplay, IGeometry pRegion)
          Enlarges the specified region if necessary to account for the symbology sizes.
 int getClassCount()
          Number of classes.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 IName getDataSourceName()
          Name of the data object for the layer.
 String getField(int index)
          Field at the specified index.
 int getFieldCount()
          Number of fields.
 IColor getInvalidRuleColor()
          Color used for representations with an invalid rule ID.
 IColor getInvisibleColor()
          Color used for invisible representations.
 ILegendGroup getLegendGroup(int index)
          Legend group at the specified index.
 int getLegendGroupCount()
          Number of legend groups contained by the object.
 ILegendItem getLegendItem()
          Optional.
 Object getLevelArray()
          Array that contains all levels used by the symbols, (symbols without a level get a level of 0).
 String getRelativeBase()
          Base path used when storing relative path names.
 IRepresentationClass getRepresentationClass()
          Property RepresentationClass.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 ISymbol getSymbolByFeature(IFeature feature)
          Symbol used to draw the specified feature.
 String getWhereClause(int index, ITable table)
          WhereClause.
 int hashCode()
          the hashcode for this object
 IArray identify(IGeometry pGeom)
          Identifies objects at the specified location.
 boolean isDataSourceSupported(IName name)
          Indicates if the specified data object name is supported by the layer.
 void isDirty()
          isDirty
 boolean isDrawInvalidRule()
          Indicates if representations with an invalid Rule ID will draw.
 boolean isDrawInvisible()
          Indicates whether or not invisible representations will be drawn.
 boolean isRenderPhase(int drawPhase)
          Indicates if renderer uses the specified draw phase.
 boolean isSupportedAtVersion(int docVersion)
          Is this object valid at the given document version.
 boolean isSymbolsAreGraduated()
          Indicates if symbols are graduated.
 void load(IStream pstm)
          load
 int lookupLegendClass(IFeature feature, int[] legendGroupIdx)
          Returns the legend group and the legend class indexes for the input feature.
 ISymbol lookupSymbol(boolean firstPass, IFeature feature)
          Returns a reference to the renderer's symbol for the input feature.
 void prepareFilter(IFeatureClass fc, IQueryFilter queryFilter)
          Prepares the query filter for the rendering process.
 void readExternal(ObjectInput in)
           
 void resetLookupSymbol(ISymbol symbol)
          Resets temporary options on the symbol (e.g.
 void save(IStream pstm, int fClearDirty)
          save
 void setCurrentDrawLevel(int rhs1)
          The current draw level, (set to -1 to draw all levels).
 void setDataSourceName(IName name)
          Name of the data object for the layer.
 void setDrawInvalidRule(boolean draw)
          Indicates if representations with an invalid Rule ID will draw.
 void setDrawInvisible(boolean draw)
          Indicates whether or not invisible representations will be drawn.
 void setExclusionSetByRef(IFeatureIDSet rhs1)
          An object reference to a temporary drawing exclusion set.
 void setExportInfoByRef(IFeatureExportInfoGenerator rhs1)
          The helper oject to generate export information.
 void setInvalidRuleColor(IColor color)
          Color used for representations with an invalid rule ID.
 void setInvisibleColor(IColor color)
          Color used for invisible representations.
 void setRelativeBase(String basePath)
          Base path used when storing relative path names.
 void setRepresentationClassByRef(IRepresentationClass repClass)
          Property RepresentationClass.
 void setSymbolsAreGraduated(boolean symbolsAreGraduated)
          Indicates if symbols are graduated.
 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

RepresentationRenderer

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

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

RepresentationRenderer

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

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

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

canRender

public boolean canRender(IFeatureClass featClass,
                         IDisplay display)
                  throws IOException,
                         AutomationException
Indicates if the specified feature class can be rendered on the given display.

Remarks

If the renderer is not applicable to a feature layer, then it can return False in response to a CanRender method. For example, the dot-density renderer is only applicable to polygon feature layers and returns False in response to other feature layers.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
canRender in interface IFeatureRenderer
Parameters:
featClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
display - A reference to a com.esri.arcgis.display.IDisplay (in)
Returns:
The result
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

prepareFilter

public void prepareFilter(IFeatureClass fc,
                          IQueryFilter queryFilter)
                   throws IOException,
                          AutomationException
Prepares the query filter for the rendering process.

Remarks

This method is called prior to the Draw method and gives the renderer a chance to adjust the query filter to incorporate extra constraints. For example, if a particular field is required for the renderer, it would add this field to the filter to ensure it is accessible during the Draw method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
prepareFilter in interface IFeatureRenderer
Parameters:
fc - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

draw

public void draw(IFeatureCursor cursor,
                 int drawPhase,
                 IDisplay display,
                 ITrackCancel trackCancel)
          throws IOException,
                 AutomationException
Draws features from the specified cursor on the given display.

Remarks

This method is typically called by the framework to renderer features to a display. This could be in response to a refresh on the map. This method typically iterates through all the features and renders each feature with an appropriate symbol.

An individual feature is typically drawn by calling the Draw method on the feature's IFeatureDraw with the symbol created by the renderer. However, when writing a custom feature renderer you can draw anything you want using a number of different methods. To learn more see the section on writing a custom feature renderer in Extending ArcObjects.

To allow complex rendering to be canceled halfway through a draw, the renderer typically checks the TrackCancel object after each feature or set of features. If a cancel action has occurred, the renderer will exit.

There are three drawing phases: selection, annotation, and geography, and this method can be called by the framework up to three times. With the exception of the selection phase, this method will only be called for a particular draw phase if the call by the framework to RenderPhase returns true for that phase.

Feature renderers typically only draw features during the geography phase, though in some cases features are drawn in the annotation phase. Take for example a case where proportional symbols are drawn for polygon features. The ProportionalSymbolRenderer draws the background fill symbol during the geography phase and the proportionally sized marker symbol during the annotation phase.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
draw in interface IFeatureRenderer
Parameters:
cursor - A reference to a com.esri.arcgis.geodatabase.IFeatureCursor (in)
drawPhase - A com.esri.arcgis.system.esriDrawPhase constant (in)
display - A reference to a com.esri.arcgis.display.IDisplay (in)
trackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSymbolByFeature

public ISymbol getSymbolByFeature(IFeature feature)
                           throws IOException,
                                  AutomationException
Symbol used to draw the specified feature.

Product Availability

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

Specified by:
getSymbolByFeature in interface IFeatureRenderer
Parameters:
feature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
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.

isRenderPhase

public boolean isRenderPhase(int drawPhase)
                      throws IOException,
                             AutomationException
Indicates if renderer uses the specified draw phase.

Product Availability

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

Specified by:
isRenderPhase in interface IFeatureRenderer
Parameters:
drawPhase - A com.esri.arcgis.system.esriDrawPhase constant (in)
Returns:
The result
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExclusionSetByRef

public void setExclusionSetByRef(IFeatureIDSet rhs1)
                          throws IOException,
                                 AutomationException
An object reference to a temporary drawing exclusion set.

Description

The list of feature IDs to be excluded from drawing.

Remarks

Some feature renderers support IDataExclusion which allows you to build a where clause to exclude features.

Exclusion prevents features from drawing. To prevent features from drawing as well as from appearing in tables and in query results, set a layer definition query using IFeatureLayerDefinition.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExclusionSetByRef in interface IFeatureRenderer
Parameters:
rhs1 - A reference to a com.esri.arcgis.carto.IFeatureIDSet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRepresentationClassByRef

public void setRepresentationClassByRef(IRepresentationClass repClass)
                                 throws IOException,
                                        AutomationException
Property RepresentationClass.

Description

This is the RepresentationClass referenced by the renderer so that all features are drawn using the representation information present in the representation class. Since a single feature class can have multiple representation classes, any single representation class can be used to draw all of its features.

Product Availability

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

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

getRepresentationClass

public IRepresentationClass getRepresentationClass()
                                            throws IOException,
                                                   AutomationException
Property RepresentationClass.

Description

This is the RepresentationClass referenced by the renderer so that all features are drawn using the representation information present in the representation class. Since a single feature class can have multiple representation classes, any single representation class can be referenced to used to draw all of its features.

Product Availability

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

Specified by:
getRepresentationClass in interface IRepresentationRenderer
Returns:
A reference to a com.esri.arcgis.geodatabase.IRepresentationClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDrawInvisible

public boolean isDrawInvisible()
                        throws IOException,
                               AutomationException
Indicates whether or not invisible representations will be drawn.

Description

DrawInvisible is a boolean that indicates if invisible feature representations will be drawn or not. To change the visibility property use IRepresentaionClass::GraphicAttributes.

For example, if pRepClass is a reference to a representation class then the Viibility property for all its features can be managed as follows:

Dim pGA As IGraphicAttributes
Set pGA = pRepClass.GraphicAttributes
pGA.Value(0) = False 'Make invisible

Product Availability

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

Specified by:
isDrawInvisible in interface IRepresentationRenderer
Returns:
The draw
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDrawInvisible

public void setDrawInvisible(boolean draw)
                      throws IOException,
                             AutomationException
Indicates whether or not invisible representations will be drawn.

Product Availability

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

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

getInvisibleColor

public IColor getInvisibleColor()
                         throws IOException,
                                AutomationException
Color used for invisible representations.

Description

InvisibleColor is the color used by the renderer to draw invisible feature representations.

Product Availability

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

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

setInvisibleColor

public void setInvisibleColor(IColor color)
                       throws IOException,
                              AutomationException
Color used for invisible representations.

Product Availability

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

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

isDrawInvalidRule

public boolean isDrawInvalidRule()
                          throws IOException,
                                 AutomationException
Indicates if representations with an invalid Rule ID will draw.

Description

DrawInvalidRule is a boolean that indicates if feature representations having either invalid or null representation rule values will be drawn by the renderer or not.

An invalid representation rule is a rule that does not belong to the collection of RepresentationRules object for that particular RepresentationClass or a rule having null value. Representation rule IDs are stored in the RuleID field of the attribute table.

Product Availability

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

Specified by:
isDrawInvalidRule in interface IRepresentationRenderer
Returns:
The draw
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDrawInvalidRule

public void setDrawInvalidRule(boolean draw)
                        throws IOException,
                               AutomationException
Indicates if representations with an invalid Rule ID will draw.

Product Availability

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

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

getInvalidRuleColor

public IColor getInvalidRuleColor()
                           throws IOException,
                                  AutomationException
Color used for representations with an invalid rule ID.

Description

InvalidRuleColor is the color used by the renderer to draw all feature representations having invalid representation rule values.

An invalid representation rule is a rule that is not present in the collection of RepresentationRules object for that particular RepresentationClass or a null rule value. Representation rule ID values are stored in the RuleID field of the attribute table.

Product Availability

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

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

setInvalidRuleColor

public void setInvalidRuleColor(IColor color)
                         throws IOException,
                                AutomationException
Color used for representations with an invalid rule ID.

Product Availability

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

Specified by:
setInvalidRuleColor in interface IRepresentationRenderer
Parameters:
color - A reference to a com.esri.arcgis.display.IColor (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.

getClassCount

public int getClassCount()
                  throws IOException,
                         AutomationException
Number of classes.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassCount in interface IRendererClasses
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

esri_getClass

public String esri_getClass(int index)
                     throws IOException,
                            AutomationException
Class name.

Product Availability

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

Specified by:
esri_getClass in interface IRendererClasses
Parameters:
index - The index (in)
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWhereClause

public String getWhereClause(int index,
                             ITable table)
                      throws IOException,
                             AutomationException
WhereClause.

Product Availability

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

Specified by:
getWhereClause in interface IRendererClasses
Parameters:
index - The index (in)
table - A reference to a com.esri.arcgis.geodatabase.ITable (in)
Returns:
The whereClause
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendGroupCount

public int getLegendGroupCount()
                        throws IOException,
                               AutomationException
Number of legend groups contained by the object.

Remarks

The number of legend groups is determined by the implementation of the renderer, consequently this property is read only. For example, SimpleRenderer has one group, while a BiUniqueValueRenderer has any number of groups.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLegendGroupCount in interface ILegendInfo
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendGroup

public ILegendGroup getLegendGroup(int index)
                            throws IOException,
                                   AutomationException
Legend group at the specified index.

Product Availability

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

Specified by:
getLegendGroup in interface ILegendInfo
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.carto.ILegendGroup
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendItem

public ILegendItem getLegendItem()
                          throws IOException,
                                 AutomationException
Optional. Defines legend formatting for layer rendered with this object.

Remarks

Layer or renderer legend information is further formatted for display in ArcMap legends. A renderer can override this formatting by returning a LegendItem for this property. ESRI renderers typically do not return anything for this property. With this configuration, legend formatting becomes a user or developer choice on the legend object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLegendItem in interface ILegendInfo
Returns:
A reference to a com.esri.arcgis.carto.ILegendItem
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSymbolsAreGraduated

public boolean isSymbolsAreGraduated()
                              throws IOException,
                                     AutomationException
Indicates if symbols are graduated.

Description

Indicates whether the symbols used for a layer or renderer's legend vary by size.

Remarks

For example the proportional symbol renderer returns True for this property.

You can use this property to distinguish between a layer symbolized with graduated color or graduated symbol type layer symbology. Both of these symbolizations use a ClassBreaksRenderer, but only a graduated symbol symbolization will return True for this property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isSymbolsAreGraduated in interface ILegendInfo
Returns:
The symbolsAreGraduated
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolsAreGraduated

public void setSymbolsAreGraduated(boolean symbolsAreGraduated)
                            throws IOException,
                                   AutomationException
Indicates if symbols are graduated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setCurrentDrawLevel

public void setCurrentDrawLevel(int rhs1)
                         throws IOException,
                                AutomationException
The current draw level, (set to -1 to draw all levels).

Remarks

This property is set by the framework at draw time to specify which symbol level the renderer is to draw. If implementing a custom renderer that implements ILevelRenderer, you can check this property in your implementation of IFeatureRenderer::Draw to know which symbol level to draw.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getLevelArray

public Object getLevelArray()
                     throws IOException,
                            AutomationException
Array that contains all levels used by the symbols, (symbols without a level get a level of 0).

Remarks

This property returns an array of long integers representing all the the symbol levels of the symbols used by the renderer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLevelArray in interface ILevelRenderer
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDataSourceName

public IName getDataSourceName()
                        throws IOException,
                               AutomationException
Name of the data object for the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setDataSourceName

public void setDataSourceName(IName name)
                       throws IOException,
                              AutomationException
Name of the data object for the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isDataSourceSupported

public boolean isDataSourceSupported(IName name)
                              throws IOException,
                                     AutomationException
Indicates if the specified data object name is supported by the layer.

Product Availability

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

Specified by:
isDataSourceSupported in interface IDataLayer
Parameters:
name - A reference to a com.esri.arcgis.system.IName (in)
Returns:
The supported
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

connect

public boolean connect(IName pOptRepairName)
                throws IOException,
                       AutomationException
Connects the layer to its data source. An optional name object can be specified to aid in repairing a lost connection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
connect in interface IDataLayer
Parameters:
pOptRepairName - A reference to a com.esri.arcgis.system.IName (in)
Returns:
The succeeded
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRelativeBase

public String getRelativeBase()
                       throws IOException,
                              AutomationException
Base path used when storing relative path names.

Remarks

The RelativeBase property is used internally when persisting and loading documents with a relative path. When a document has been fully loaded the path is realized to a complete path.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRelativeBase in interface IDataLayer
Returns:
The basePath
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRelativeBase

public void setRelativeBase(String basePath)
                     throws IOException,
                            AutomationException
Base path used when storing relative path names.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

expandRegionForSymbols

public void expandRegionForSymbols(IDisplay pDisplay,
                                   IGeometry pRegion)
                            throws IOException,
                                   AutomationException
Enlarges the specified region if necessary to account for the symbology sizes.

Product Availability

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

Specified by:
expandRegionForSymbols in interface ILayerSymbologyExtents
Parameters:
pDisplay - A reference to a com.esri.arcgis.display.IDisplay (in)
pRegion - 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.

identify

public IArray identify(IGeometry pGeom)
                throws IOException,
                       AutomationException
Identifies objects at the specified location.

Remarks

When the IIdentify interface is on a map layer, the Identify method returns an array of FeatureIdentifyObject objects.

On a FeatureIdentifyObject, you can do a QI to the IIdentifyObj interface to get more information about the identified feature. The IIdentifyObj interface returns the window handle, layer, and name of the feature; it has methods to flash the feature in the display and to display a context menu at the Identify location.

This method performs an identify operation with the provided geometry. When identifying layers, typically a small envelope is passed in rather than a point to account for differences in the precision of the display and the feature geometry.


Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

lookupSymbol

public ISymbol lookupSymbol(boolean firstPass,
                            IFeature feature)
                     throws IOException,
                            AutomationException
Returns a reference to the renderer's symbol for the input feature.

Remarks

This method hands out a reference to the symbol for a specific feature. The firstPass parameter is passed in as True on the first call of this method. This allows the renderer to internally cache the symbols for succesive calls.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
lookupSymbol in interface ILookupSymbol
Parameters:
firstPass - The firstPass (in)
feature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
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.

resetLookupSymbol

public void resetLookupSymbol(ISymbol symbol)
                       throws IOException,
                              AutomationException
Resets temporary options on the symbol (e.g. Rotation).

Remarks

This method resets modifications to marker symbol angles that may be set on the symbol reference handed to the label engine. When implementing this interface it is important to reset any marker symbol rotation changes in this method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
resetLookupSymbol in interface ILookupSymbol
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.

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.

setExportInfoByRef

public void setExportInfoByRef(IFeatureExportInfoGenerator rhs1)
                        throws IOException,
                               AutomationException
The helper oject to generate export information.

Product Availability

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

Specified by:
setExportInfoByRef in interface IExportSupport
Parameters:
rhs1 - A reference to a com.esri.arcgis.carto.IFeatureExportInfoGenerator (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

disconnect

public void disconnect()
                throws IOException,
                       AutomationException
Disconnects the data from the renderer.

Product Availability

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

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

lookupLegendClass

public int lookupLegendClass(IFeature feature,
                             int[] legendGroupIdx)
                      throws IOException,
                             AutomationException
Returns the legend group and the legend class indexes for the input feature.

Product Availability

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

Specified by:
lookupLegendClass in interface ILookupLegendClass
Parameters:
feature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
legendGroupIdx - The legendGroupIdx (out: use single element array)
Returns:
The legendClassIdx
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFieldCount

public int getFieldCount()
                  throws IOException,
                         AutomationException
Number of fields.

Product Availability

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

Specified by:
getFieldCount in interface ILookupLegendClass
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getField

public String getField(int index)
                throws IOException,
                       AutomationException
Field at the specified index.

Product Availability

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

Specified by:
getField in interface ILookupLegendClass
Parameters:
index - The index (in)
Returns:
The name
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