com.esri.arcgis.controls
Class ARFeature

java.lang.Object
  extended by com.esri.arcgis.controls.ARFeature
All Implemented Interfaces:
IARFeature, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class ARFeature
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IARFeature

ARFeature object.

Description

An ARFeature object is a spatial entity modelled as an object with properties and behavior. All ARFeature objects within an ARLayer share the same set of attribute schema; that is they have the same set of fields. The IARFeature interface provides properties and methods for accessing the feature's field and field values, and identifying the feature on the display.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

See Also:
Serialized Form

Constructor Summary
ARFeature(Object obj)
          Construct a ARFeature using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void centerAt()
          Centers the feature on the map display.
 boolean equals(Object o)
          Compare this object with another
 void flash()
          Flashes the feature on the display.
 void flicker()
          Flickers the feature on the display.
 Object getCustomProperty()
          A property to associate data with an object.
 String getFieldAliasName(int index)
          The alias name of the field.
 int getFieldCount()
          The number of fields in the field collection.
 String getFieldName(int index)
          The name of the field.
 int getFieldType(int index)
          The type of field.
 Object getInternalObject()
          The internal ArcObjects IFeature object.
 Object getValue(Object index)
          The value of the field.
 String getValueAsString(Object index)
          A property to access the value of the specified field as a string.
 int hashCode()
          the hashcode for this object
 void highlight(boolean bHighlight, int color)
          Highlights the feature on the display.
 boolean isFieldAccessible(Object index)
          A property that checks if the specified field is accessible.
 void setCustomProperty(Object pVal)
          A property to associate data with an object.
 void zoomTo()
          Zooms the map to display the feature.
 
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

ARFeature

public ARFeature(Object obj)
          throws IOException
Construct a ARFeature using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to ARFeature.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
ARFeature o = (ARFeature)obj; // will not work

ARFeature o = new ARFeature(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems ARFeature theARFeature = (ARFeature) obj;
Method Detail

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

getValue

public Object getValue(Object index)
                throws IOException,
                       AutomationException
The value of the field.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
getValue in interface IARFeature
Parameters:
index - A Variant (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFieldCount

public int getFieldCount()
                  throws IOException,
                         AutomationException
The number of fields in the field collection.

Description

The FieldCount property returns the number of fields in the ARFeature's field collection. There is always at least one field within the field collection.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

getFieldName

public String getFieldName(int index)
                    throws IOException,
                           AutomationException
The name of the field.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

getFieldAliasName

public String getFieldAliasName(int index)
                         throws IOException,
                                AutomationException
The alias name of the field.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

getFieldType

public int getFieldType(int index)
                 throws IOException,
                        AutomationException
The type of field.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
getFieldType in interface IARFeature
Parameters:
index - The index (in)
Returns:
A com.esri.arcgis.controls.esriARFieldType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

zoomTo

public void zoomTo()
            throws IOException,
                   AutomationException
Zooms the map to display the feature.

Description

Zooms to the ARFeature to make it visible on the display. This may change the IARMap::MapScale. By default the screen is automatically refreshed.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

centerAt

public void centerAt()
              throws IOException,
                     AutomationException
Centers the feature on the map display.

Description

Centers the ARFeature on the display to make it visible. The extent of the ARMap will change, but the IARMap::MapScale will remain the same. By default the screen is automatically refreshed.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

flash

public void flash()
           throws IOException,
                  AutomationException
Flashes the feature on the display.

Description

Flashes the ARFeature once on the display. Before using the Flash method use the ZoomTo or CenterAt method to ensure that the ARFeature is visible in the ARMap display area to the user.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

flicker

public void flicker()
             throws IOException,
                    AutomationException
Flickers the feature on the display.

Description

Flickers the ARFeature on the display. This is like flashing the feature four times in quick succession. Before using the Flicker method use the ZoomTo or CenterAt method to ensure that the ARFeature is visible in the ARMap display area to the user.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

getInternalObject

public Object getInternalObject()
                         throws IOException,
                                AutomationException
The internal ArcObjects IFeature object.

Description

Use the InternalObject property to access the underlying IFeature object. This property is always inaccessible.

Remarks

Getting the InternalObject property will return an error if no license is available and if the currently loaded document was not published with permission to access InternalObjects. Use the IARControl::HasDocumentPermission method to determine this.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
getInternalObject in interface IARFeature
Returns:
A reference to another Object (IUnknown)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCustomProperty

public Object getCustomProperty()
                         throws IOException,
                                AutomationException
A property to associate data with an object.

Description

Use the CustomProperty to associate any useful data with the ARFeature. This is similar to a 'Tag' property, and can be use to store strings, numbers and objects.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

setCustomProperty

public void setCustomProperty(Object pVal)
                       throws IOException,
                              AutomationException
A property to associate data with an object.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
setCustomProperty in interface IARFeature
Parameters:
pVal - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

highlight

public void highlight(boolean bHighlight,
                      int color)
               throws IOException,
                      AutomationException
Highlights the feature on the display.

Description

Highlights the ARFeature on the display. By deafult the screen is automatically refreshed.

Remarks

This method acts on an instance of an object. In order to toggle the highlighting of a feature, one must work with the same instance of the object.

The Highlight method triggers the following events:

OnBeforeScreenDraw
OnAfterScreenDraw

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
highlight in interface IARFeature
Parameters:
bHighlight - The bHighlight (in)
color - The color (A COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isFieldAccessible

public boolean isFieldAccessible(Object index)
                          throws IOException,
                                 AutomationException
A property that checks if the specified field is accessible.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
isFieldAccessible in interface IARFeature
Parameters:
index - A Variant (in)
Returns:
The bAccessible
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getValueAsString

public String getValueAsString(Object index)
                        throws IOException,
                               AutomationException
A property to access the value of the specified field as a string.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
getValueAsString in interface IARFeature
Parameters:
index - A Variant (in)
Returns:
The bsValueAsString
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.