com.esri.arcgis.carto
Class IGeoFeatureLayerProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.carto.ILayerProxy
          extended by com.esri.arcgis.carto.IFeatureLayerProxy
              extended by com.esri.arcgis.carto.IGeoFeatureLayerProxy
All Implemented Interfaces:
IFeatureLayer, IGeoFeatureLayer, ILayer, Externalizable, Serializable

public class IGeoFeatureLayerProxy
extends IFeatureLayerProxy
implements IGeoFeatureLayer, Serializable

Provides access to members that control geographic aspects of a feature layer.

Description

Provides access to symbolization and labeling properties for layers based on vector geographic data. Also provides a method for returning a read-only feature cursor of layer features that includes joined fields.

Remarks

IGeoFeatureLayer inherits from IFeatureLayer, and IFeatureLayer in turn inherits from ILayer. This means when you are working with a layer through IGeoFeatureLayer, that all of the properties and methods of IFeatureLayer and ILayer are directly available.

Product Availability

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

See Also:
IFeatureLayer, ILayer, Serialized Form

Field Summary
 boolean noncastable
           
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, objRef
 
Constructor Summary
  IGeoFeatureLayerProxy()
           
  IGeoFeatureLayerProxy(Object obj)
           
protected IGeoFeatureLayerProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 IAnnotateLayerPropertiesCollection getAnnotationProperties()
          Annotation properties.
 IUID getAnnotationPropertiesID()
          The UID used for annotation properties.
 IFeatureClass getDisplayFeatureClass()
          Feature class used for display operations (may include joined fields).
 IFeatureIDSet getExclusionSet()
          The set of features that are excluded from drawing.
 IFeatureRenderer getRenderer()
          Renderer used to draw the layer.
 IUID getRendererPropertyPageClassID()
          Class id of the property page for the renderer.
 boolean isDisplayAnnotation()
          Indicates if the layer displays annotation.
 void removeListener(String iidStr, Object theListener)
           
 IFeatureCursor searchDisplayFeatures(IQueryFilter queryFilter, boolean recycling)
          Creates a cursor from the display feature class based upon the search criteria.
 void setAnnotationProperties(IAnnotateLayerPropertiesCollection props)
          Annotation properties.
 void setAnnotationPropertiesIDByRef(IUID uid)
          The UID used for annotation properties.
 void setCurrentMapLevel(int rhs1)
          Current map level for drawing symbols.
 void setDisplayAnnotation(boolean value)
          Indicates if the layer displays annotation.
 void setExclusionSetByRef(IFeatureIDSet fIDs)
          The set of features that are excluded from drawing.
 void setRendererByRef(IFeatureRenderer renderer)
          Renderer used to draw the layer.
 void setRendererPropertyPageClassID(IUID clsid)
          Class id of the property page for the renderer.
 
Methods inherited from class com.esri.arcgis.carto.IFeatureLayerProxy
getDataSourceType, getDisplayField, getFeatureClass, isScaleSymbols, isSelectable, search, setDataSourceType, setDisplayField, setFeatureClassByRef, setScaleSymbols, setSelectable
 
Methods inherited from class com.esri.arcgis.carto.ILayerProxy
draw, getAreaOfInterest, getMaximumScale, getMinimumScale, getName, getSupportedDrawPhases, getTipText, isCached, isShowTips, isValid, isVisible, setCached, setMaximumScale, setMinimumScale, setName, setShowTips, setSpatialReferenceByRef, setVisible
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, optimizedVtblInvoke, queryInterface, readExternal, release, setNativeMode, setPropertyByName, toString, vtblInvoke, writeExternal
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.carto.IFeatureLayer
getDataSourceType, getDisplayField, getFeatureClass, isScaleSymbols, isSelectable, search, setDataSourceType, setDisplayField, setFeatureClassByRef, setScaleSymbols, setSelectable
 
Methods inherited from interface com.esri.arcgis.carto.ILayer
draw, getAreaOfInterest, getMaximumScale, getMinimumScale, getName, getSupportedDrawPhases, getTipText, isCached, isShowTips, isValid, isVisible, setCached, setMaximumScale, setMinimumScale, setName, setShowTips, setSpatialReferenceByRef, setVisible
 

Field Detail

noncastable

public boolean noncastable
Constructor Detail

IGeoFeatureLayerProxy

public IGeoFeatureLayerProxy()

IGeoFeatureLayerProxy

public IGeoFeatureLayerProxy(Object obj)
                      throws IOException
Throws:
IOException

IGeoFeatureLayerProxy

protected IGeoFeatureLayerProxy(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 IFeatureLayerProxy
Throws:
IOException

removeListener

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

getRenderer

public IFeatureRenderer getRenderer()
                             throws IOException,
                                    AutomationException
Renderer used to draw the layer.

Description

Specifies the layer's feature renderer object which determines how a layer draws.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setRendererByRef

public void setRendererByRef(IFeatureRenderer renderer)
                      throws IOException,
                             AutomationException
Renderer used to draw the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRendererPropertyPageClassID

public IUID getRendererPropertyPageClassID()
                                    throws IOException,
                                           AutomationException
Class id of the property page for the renderer.

Description

The classID of the renderer property page that is used to edit the renderer of the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setRendererPropertyPageClassID

public void setRendererPropertyPageClassID(IUID clsid)
                                    throws IOException,
                                           AutomationException
Class id of the property page for the renderer.

Description

RendererPropertyPageClassID is the classID of the render property page that is associated with the render of a IGeoFeatureLayer

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isDisplayAnnotation

public boolean isDisplayAnnotation()
                            throws IOException,
                                   AutomationException
Indicates if the layer displays annotation.

Description

Indicates whether dynamic labeling is on for the layer. Use this property to see if labeling is on for a layer, or to toggle labeling on or off.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDisplayAnnotation in interface IGeoFeatureLayer
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDisplayAnnotation

public void setDisplayAnnotation(boolean value)
                          throws IOException,
                                 AutomationException
Indicates if the layer displays annotation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getAnnotationPropertiesID

public IUID getAnnotationPropertiesID()
                               throws IOException,
                                      AutomationException
The UID used for annotation properties.

Description

Indicates the CLSID of the labeling properties used to label the layer.

Remarks

ArcGIS provides two engines that can be used for labeling, the ESRI Standard Labeling Engine and the ESRI Maplex Labeling Engine.

You can use AnnotationPropertiesID determine which engine is being used by the layer to label features.

ESRI Standard Labeling Engine: GUID for LabelEngineLayerProperties = "{01004145-0D1C-11D2-A26F-080009B6F22B}"
ESRI Maplex Labeling Engine: GUID for MaplexLabelEngineLayerProperties = "{20664808-0D1C-11D2-A26F-080009B6F22B}"

You should not set this property. The labeling engine set for the map controls how each layer in the map will be labeled. To set this use IMap::AnnotationEngine. When the label engine is changed, the label properties of the all layers in the map will automatically be changed to properties of the new label engine.

If have a standalone layer that is not in a map, you can translate the properties to the other label engine by using IAnnotationPropertiesConverter on the coclass MaplexAnnotationPropertiesConverter.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setAnnotationPropertiesIDByRef

public void setAnnotationPropertiesIDByRef(IUID uid)
                                    throws IOException,
                                           AutomationException
The UID used for annotation properties.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getAnnotationProperties

public IAnnotateLayerPropertiesCollection getAnnotationProperties()
                                                           throws IOException,
                                                                  AutomationException
Annotation properties.

Description

Provides access to the labeling properites for the layer.

Remarks

A feature layer's labeling properties are accessed via this property which returns a collection. Each item in the collection is an IAnnotateLayerProperties object that represents a label class. To learn more, see IAnnotateLayerProperties.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setAnnotationProperties

public void setAnnotationProperties(IAnnotateLayerPropertiesCollection props)
                             throws IOException,
                                    AutomationException
Annotation properties.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setCurrentMapLevel

public void setCurrentMapLevel(int rhs1)
                        throws IOException,
                               AutomationException
Current map level for drawing symbols.

Remarks

When symbol level drawing is used, this property is used by the framework to communicate to a layer what the current symbol level being drawn is. Priori to ArcGIS 9.0 this was the only method by which this could be communicated to a layer. At ArcGIS 9.0 and later versions, IMapLevel::MapLevel can be used for this. IMapLevel is implemented by more layers than IGeoFeatureLayer, so a layer that does not participate in symbol level drawing, for example a RasterLayer, can still know the current symbol level.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getExclusionSet

public IFeatureIDSet getExclusionSet()
                              throws IOException,
                                     AutomationException
The set of features that are excluded from drawing.

Description

Provides access to the set of features that are exluded from drawing for a layer. In ArcMap, features are added to this set when you convert features to graphics, and you can resume drawing these features, thereby removing them from the ExclusionSet, by using the Layer Properties dialog's Display tab.

When you use IDataExclusion to exclude features from drawing for a feature renderer, the excluded features will not show up in the layer's ExclusionSet.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setExclusionSetByRef

public void setExclusionSetByRef(IFeatureIDSet fIDs)
                          throws IOException,
                                 AutomationException
The set of features that are excluded from drawing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExclusionSetByRef in interface IGeoFeatureLayer
Parameters:
fIDs - 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.

getDisplayFeatureClass

public IFeatureClass getDisplayFeatureClass()
                                     throws IOException,
                                            AutomationException
Feature class used for display operations (may include joined fields).

Description

Provides access to an IFeatureClass object that contains joined fields if present on the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

searchDisplayFeatures

public IFeatureCursor searchDisplayFeatures(IQueryFilter queryFilter,
                                            boolean recycling)
                                     throws IOException,
                                            AutomationException
Creates a cursor from the display feature class based upon the search criteria.

Remarks

SearchDisplayFeatures works like IFeatureLayer::Search with the added behavior that it will work on joined fields if you qualify field names. For example, if you want to search a field called "Pop1990" from a joined table called "Demog", you should used "Demog.Pop1990" for the field name in the query filter used in the search method.

The IDisplayTable::SearchDisplayTable method is a similar search method which will work on feature layers as well as other types of layers and standalone tables. If you want your code to be generic enough to work on different types of layers, you should use IDisplayTable::SearchDisplayTable.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
searchDisplayFeatures in interface IGeoFeatureLayer
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
recycling - The recycling (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureCursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.