com.esri.arcgis.geodatabase
Interface IFields

All Superinterfaces:
java.io.Serializable
All Known Subinterfaces:
IFields2, IFieldsEdit
All Known Implementing Classes:
Fields, IFields2Proxy, IFieldsEditProxy, IFieldsProxy

public interface IFields
extends java.io.Serializable

Provides access to members that return information about the fields.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Description

The Fields object represents a collection of columns in a table. The term field is synonymous with column. Each table in a database has an ordered collection of fields, there is always at least one field in a table. The ordered collection behaves like a list, so it is possible to access individual fields by a numbered position (or index) in the list.

Remarks

The IFields interface provides information about a Fields collection and also provides access to individual fields. This example finds any fields in a feature class which have a distinct alias name.

Set pFields = pFeatureClass.Fields
For i = 0 To (pFields.FieldCount - 1)
  Set pField = pFields.Field(i)
  If (pField.Name <> pField.AliasName) Then
    Debug.Print pField.Name & “:” & pField.AliasName
  End If
Next i

When using IFields::FindField, remember that there are equivalent methods on IClass and ICursor—they are shortcuts which save you having to get the Fields collection.

When programming with ArcMap, there is a distinction between IFields and two other interfaces, ILayerFields and ITableFields. ILayerFields is particular to an ArcMap layer, so for example, an alias name belongs to the field as defined in that layer rather than being stored with the underlying table.


Method Summary
 int findField(java.lang.String name)
          Finds the index of the named field in the fields collection.
 int findFieldByAliasName(java.lang.String name)
          Finds the index of the field with the alias name in the fields collection.
 IField getField(int index)
          The field at the specified index in the fields collection.
 int getFieldCount()
          The number of fields in the fields collection.
 

Method Detail

getFieldCount

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

Supported Platforms

Windows, Solaris, Linux

Remarks

FieldCount is a one-based index. Therefore if you want to use IFields::FieldCount to get a particular index and use IFields::Field to get the field at the particular index, you will need to convert FieldCount to a zero-based index.

Returns:
The numFields
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getField

public IField getField(int index)
                throws java.io.IOException,
                       AutomationException
The field at the specified index in the fields collection.

Supported Platforms

Windows, Solaris, Linux

Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IField
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findField

public int findField(java.lang.String name)
              throws java.io.IOException,
                     AutomationException
Finds the index of the named field in the fields collection.

Supported Platforms

Windows, Solaris, Linux

Remarks

If FindField returns -1, the Field could not be found in the Fields collection.

Parameters:
name - The name (in)
Returns:
The index
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findFieldByAliasName

public int findFieldByAliasName(java.lang.String name)
                         throws java.io.IOException,
                                AutomationException
Finds the index of the field with the alias name in the fields collection.

Supported Platforms

Windows, Solaris, Linux

Parameters:
name - The name (in)
Returns:
The index
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.