public interface

IDexField

implements ICodeField IDexItem
com.pnfsoftware.jeb.core.units.code.android.dex.IDexField

Class Overview

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.

Summary

[Expand]
Inherited Constants
From interface com.pnfsoftware.jeb.core.units.code.ICodeItem
Public Methods
abstract IDexType getClassType()
Get the type of the class holding this field.
abstract int getClassTypeIndex()
Get the containing class type index.
abstract String getClassTypeSignature(boolean effective)
abstract IDexFieldData getData()
Get a reference to the field definition, if the field is internal.
abstract IDexType getFieldType()
Get the field's type.
abstract int getFieldTypeIndex()
Get the field type index.
abstract String getFieldTypeSignature(boolean effective)
abstract int getIndex()
Get the index of this item in the Dex file's field list.
abstract String getName(boolean effective)
Get the name for this field.
abstract int getNameIndex()
Get the field name index.
abstract String getSignature(boolean effective, boolean internal, boolean includeFieldType)
abstract String getSignature(boolean effective, boolean internal)
Get the item signature.
abstract String getSignature(boolean effective)
Get the signature for this field.
abstract String getSignature(boolean effective, boolean internal, boolean includeFieldType, boolean qualifiedNames)
abstract IDexValue getStaticInitializer()
Retrieve the initial value of this field if it is a static final class field.
abstract boolean setName(String name)
Rename this field.
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.code.ICodeField
From interface com.pnfsoftware.jeb.core.units.code.ICodeItem
From interface com.pnfsoftware.jeb.core.units.code.android.dex.IDexItem

Public Methods

public abstract IDexType getClassType ()

Get the type of the class holding this field.

public abstract int getClassTypeIndex ()

Get the containing class type index.

Returns
  • the class type index

public abstract String getClassTypeSignature (boolean effective)

public abstract IDexFieldData getData ()

Get a reference to the field definition, if the field is internal.

Returns
  • the field data, null for external fields

public abstract IDexType getFieldType ()

Get the field's type.

public abstract int getFieldTypeIndex ()

Get the field type index.

Returns
  • the type index

public abstract String getFieldTypeSignature (boolean effective)

public abstract int getIndex ()

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

Returns
  • the field index

public abstract String getName (boolean effective)

Get the name for this field.

Parameters
effective true to get the actual name, false to return the original name (if the unit allows the modification of items)
Returns
  • the name

public abstract int getNameIndex ()

Get the field name index.

Returns
  • the name index

public abstract String getSignature (boolean effective, boolean internal, boolean includeFieldType)

public abstract String getSignature (boolean effective, boolean internal)

Get the item signature.

Parameters
effective true to get the actual signature, false to return the original signature (if the unit allows the modification of items)
internal true to generate internal names (default); false to generate user-friendly signatures (may be the same as the internal signatures)
Returns
  • the signature

public abstract String getSignature (boolean effective)

Get the signature for this field.

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

Parameters
effective true to get the actual signature, false to return the original signature (if the unit allows the modification of items)
Returns
  • the signature

public abstract String getSignature (boolean effective, boolean internal, boolean includeFieldType, boolean qualifiedNames)

public abstract IDexValue getStaticInitializer ()

Retrieve the initial value of this field if it is a static final class field.

Returns
  • the initial field value, null if none or on error

public abstract boolean setName (String name)

Rename this field. This method does not notify changes on success: it is up to the user to issue a UnitChange notification.

This method is for convenience only: users can always use the associated unit's RENAME action (through the executeAction method) to rename an item generically.

Parameters
name the new name
Returns
  • success indicator