com.esri.arcgis.carto
Class IFeatureLayerProxy

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

public class IFeatureLayerProxy
extends ILayerProxy
implements IFeatureLayer, Serializable

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

Superseded By

IFeatureLayer2

Description

Provides access to the properties and methods of a layer based on vector geographic data, which is typically a geodatabase, shapefile, or coverage feature class.

Remarks

This interface has properties that specify the feature class of the layer, the data source type, the primary display field, whether or not layer symbols scale based on the map's reference scale, and whether or not the layer is selectable.

There is also a method Search for performing a search on the layer. This method returns a cursor of features from the layer that meet a given search criteria. If there is a definition query set on the layer, Search will work on the subset of the features in the layer that meet the definition criteria. However, the Search method will not work on joined fields. If the feature layer has any joins, use the IGeoFeatureLayer::SearchDisplayFeatures method instead.

IGeoFeatureLayer provides access to all properties and methods of IFeatureLayer plus additional properties to access a layer's feature renderer and labeling properties. Fewer layer types support IGeoFeatureLayer compared to IFeatureLayer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
ILayer, Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  IFeatureLayerProxy()
           
  IFeatureLayerProxy(Object obj)
           
protected IFeatureLayerProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 String getDataSourceType()
          Data source type.
 String getDisplayField()
          Primary display field.
 IFeatureClass getFeatureClass()
          The layer's feature class.
 boolean isScaleSymbols()
          Indicates if symbols are scaled for the layer.
 boolean isSelectable()
          Indicates if layer is selectable.
 void readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 IFeatureCursor search(IQueryFilter queryFilter, boolean recycling)
          Creates a cursor based upon the search criteria.
 void setDataSourceType(String text)
          Data source type.
 void setDisplayField(String fieldName)
          Primary display field.
 void setFeatureClassByRef(IFeatureClass fclass)
          The layer's feature class.
 void setScaleSymbols(boolean scale)
          Indicates if symbols are scaled for the layer.
 void setSelectable(boolean value)
          Indicates if layer is selectable.
 void writeExternal(ObjectOutput out)
           
 
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, 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.carto.ILayer
draw, getAreaOfInterest, getMaximumScale, getMinimumScale, getName, getSupportedDrawPhases, getTipText, isCached, isShowTips, isValid, isVisible, setCached, setMaximumScale, setMinimumScale, setName, setShowTips, setSpatialReferenceByRef, setVisible
 

Constructor Detail

IFeatureLayerProxy

public IFeatureLayerProxy()

IFeatureLayerProxy

public IFeatureLayerProxy(Object obj)
                   throws IOException
Throws:
IOException

IFeatureLayerProxy

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

removeListener

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

getFeatureClass

public IFeatureClass getFeatureClass()
                              throws IOException,
                                     AutomationException
The layer's feature class.

Description

The FeatureClass data source for the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFeatureClass in interface IFeatureLayer
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.

setFeatureClassByRef

public void setFeatureClassByRef(IFeatureClass fclass)
                          throws IOException,
                                 AutomationException
The layer's feature class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getDataSourceType

public String getDataSourceType()
                         throws IOException,
                                AutomationException
Data source type.

Description

Describes the type of data referenced by the feature layer. In ArcMap and ArcCatalog this description appears on the layer's properties dialog on the Source tab after "Data Type:"

Remarks

By default, the DataSourceType for a layer matches the value returned by IDataset::Category when you access the layer's feature class through IDataset. You can set a layer's DataSourceType to any string.

Here is a list of default values for DataSourceType for common feature layer types:

Layer Type Value
Personal Geodatabase "Personal Geodatabase Feature Class"
SDE "SDE Feature Class"
Shapefile "Shapefile Feature Class"
ArcInfo or PC ArcInfo Coverage (annotation) "Annotation Feature Class"
ArcInfo or PC ArcInfo Coverage (point) "Point Feature Class"
ArcInfo or PC ArcInfo Coverage (line) "Arc Feature Class"
ArcInfo or PC ArcInfo Coverage (polygon) "Polygon Feature Class"
Edge "StreetMap Feature Class"
CAD (annotation) "CAD Annotation Feature Class"
CAD (point) "CAD Point Feature Class"
CAD (line) "CAD Polyline Feature Class"
CAD (polygon) "CAD Polygon Feature Class"

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDataSourceType in interface IFeatureLayer
Returns:
The text
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDataSourceType

public void setDataSourceType(String text)
                       throws IOException,
                              AutomationException
Data source type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getDisplayField

public String getDisplayField()
                       throws IOException,
                              AutomationException
Primary display field.

Description

The name of the layer's primary display field.

Remarks

Usually this field name contains the string "name", or is the first string field found in the layer's attributes. This field is used to show map tips for the layer. The value of this property must match the name of one of the fields in the layer's FeatureClass.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDisplayField in interface IFeatureLayer
Returns:
The fieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDisplayField

public void setDisplayField(String fieldName)
                     throws IOException,
                            AutomationException
Primary display field.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isSelectable

public boolean isSelectable()
                     throws IOException,
                            AutomationException
Indicates if layer is selectable.

Description

Indicates whether the layer's features are selectable.

Remarks

The default value for Selectable is False.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setSelectable

public void setSelectable(boolean value)
                   throws IOException,
                          AutomationException
Indicates if layer is selectable.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

search

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

Description

Use this method to return a read-only cursor of the layer's features.

Remarks

If there is a definition query set on the layer, the Search method will automatically work on the subset of features in the layer that meet the definition criteria. You specify an additional query that will be applied after the layer's definition query by passing valid IQueryFilter object for the QueryFilter parameter.

This Search method will not work on joined fields. If the FeatureLayer has any joins, you should use the IGeoFeatureLayer::SearchDisplayFeatures method instead.

You cannot use the cursor returned by IFeatureLayer::Search to update features, instead use IFeatureClass::Update.

Recycling specifies whether the resulting feature cursor will be recycling or non-recycling. Use True for recycling cursor and False for a non-recycling cursor. See the topic for IFeatureClass::Search for more information.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
search in interface IFeatureLayer
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.

isScaleSymbols

public boolean isScaleSymbols()
                       throws IOException,
                              AutomationException
Indicates if symbols are scaled for the layer.

Description

Indicates whether the symbols for this layer will respect the reference scale of the map containing the layer. Set this property to True for your layer and set a map reference scale to have your layer symbology scale as you zoom in and out.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isScaleSymbols in interface IFeatureLayer
Returns:
The scale
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setScaleSymbols

public void setScaleSymbols(boolean scale)
                     throws IOException,
                            AutomationException
Indicates if symbols are scaled for the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setScaleSymbols in interface IFeatureLayer
Parameters:
scale - The scale (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 ILayerProxy
Throws:
IOException

readExternal

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