# Interface: com.pnfsoftware.jeb.core.units.code.android.dex.IDexField

This interface represents a Dex `field_id_item` object, that is, a reference to an internal or external field used in the dex. Retrieved via [IDexUnit](IDexUnit).

## Method: getClassType
- return type: `com.pnfsoftware.jeb.core.units.code.android.dex.IDexType`


## Method: getClassTypeIndex
- return type: `int`

Description: Get the containing class type index.
return: the class type index

## Method: getClassTypeSignature
- parameter: `effective`, type: `boolean`
- return type: `java.lang.String`

Description: Get the containing class type signature.
parameter: effective: true to use the effective signature, false to use the original signature
return: the class type signature

## Method: getData
- return type: `com.pnfsoftware.jeb.core.units.code.android.dex.IDexFieldData`

Description: Get a reference to the field definition, if the field is internal.
return: the field data, null for external fields

## Method: getFieldType
- return type: `com.pnfsoftware.jeb.core.units.code.android.dex.IDexType`


## Method: getFieldTypeIndex
- return type: `int`

Description: Get the field type index.
return: the type index

## Method: getFieldTypeSignature
- parameter: `effective`, type: `boolean`
- return type: `java.lang.String`

Description: Get the field type signature.
parameter: effective: true to use the effective signature, false to use the original signature
return: the field type signature

## Method: getIndex
- return type: `int`

Description: Get the index of this item in the Dex file's field list.
return: the field index

## Method: getName
- parameter: `effective`, type: `boolean`
- return type: `java.lang.String`

Description: Get the name for this field.

## Method: getNameIndex
- return type: `int`

Description: Get the field name index.
return: the name index

## Method: getSignature
- parameter: `effective`, type: `boolean`
- return type: `java.lang.String`

Description: Get the signature for this field. 

 Example: Lcom/xyz/Blob;\-\>name:Ljava/lang/String;

## Method: getSignature
- parameter: `effective`, type: `boolean`
- parameter: `internal`, type: `boolean`
- return type: `java.lang.String`


## Method: getSignature
- parameter: `effective`, type: `boolean`
- parameter: `internal`, type: `boolean`
- parameter: `includeFieldType`, type: `boolean`
- return type: `java.lang.String`

Description: Get the signature for this field.
parameter: effective: true to use effective names, false to use original names
parameter: internal: true to use internal Dex notation, false to use user\-friendly notation
parameter: includeFieldType: true to include the field type
return: the field signature

## Method: getSignature
- parameter: `effective`, type: `boolean`
- parameter: `internal`, type: `boolean`
- parameter: `includeFieldType`, type: `boolean`
- parameter: `qualifiedNames`, type: `boolean`
- return type: `java.lang.String`

Description: Get the signature for this field.
parameter: effective: true to use effective names, false to use original names
parameter: internal: true to use internal Dex notation, false to use user\-friendly notation
parameter: includeFieldType: true to include the field type
parameter: qualifiedNames: true to use qualified names, false to use simple names
return: the field signature

## Method: getStaticInitializer
- return type: `com.pnfsoftware.jeb.core.units.code.android.dex.IDexValue`

Description: Retrieve the initial value of this field if it is a static final class field.
return: the initial field value, null if none or on error

## Method: setName
- parameter: `name`, type: `java.lang.String`
- return type: `boolean`

Description: Rename this field. This method does not notify changes on success: it is up to the user to issue a [J#UnitChange](J#UnitChange) notification. 

 This method is for convenience only: users can always use the associated unit's `RENAME` action \(through the [executeAction](IInteractiveUnit#executeAction(com.pnfsoftware.jeb.core.actions.ActionContext, com.pnfsoftware.jeb.core.actions.IActionData)) method\) to rename an item generically.
parameter: name: the new name
return: success indicator

## Method: setName
- parameter: `name`, type: `java.lang.String`
- parameter: `notify`, type: `boolean`
- return type: `boolean`

Description: Rename this field.
parameter: name: the new name
parameter: notify: true to notify listeners of the change
return: success indicator

