# Class: com.pnfsoftware.jeb.core.units.code.android.DexBulkItemRenamer

A bulk renamer for dex items such as classes, fields, and methods. This item can be used directly or by issuing a [Actions#AUTO_RENAME_ALL](Actions#AUTO_RENAME_ALL) action via the [dex unit](IDexUnit)'s execution facility.

## Constructor: DexBulkItemRenamer
- parameter: `dex`, type: `com.pnfsoftware.jeb.core.units.code.android.IDexUnit`
- parameter: `targets`, type: `int`
- parameter: `policy`, type: `int`
- parameter: `filter`, type: `java.lang.String`

Description: Create a bulk item renamer.
parameter: dex: the target dex unit
parameter: targets: a combination of `TARGET_FLAG_xxx` to determine which kind of items may            be renamed
parameter: policy: one of `POLICY_xxx` to determine which names items may be candidate for            renaming
parameter: filter: an optional 'start of signature' filter, e.g. `Lcom/foo/` would only            rename items in the com.foo.\*\* packages and subpackages

## Static Field: POLICY_ASCII_ALPHANUM
Type: `int`

Constant value: `20`
Description: very strict: accept only printable, non\-WSP ascii

## Static Field: POLICY_ASCII_PRINT
Type: `int`

Constant value: `10`
Description: strict: accept only printable, non\-WSP ascii

## Static Field: POLICY_LEGAL
Type: `int`

Constant value: `5`
Description: moderately strict: accept legal user\-defined names

## Static Field: POLICY_NOTHING
Type: `int`

Constant value: `100`
Description: impossibly strict: accept nothing

## Static Field: TARGET_ALL
Type: `int`

Constant value: `7`
Description: Rename all supported target types.

## Static Field: TARGET_FLAG_CLASSES
Type: `int`

Constant value: `1`
Description: Rename class names.

## Static Field: TARGET_FLAG_FIELDS
Type: `int`

Constant value: `2`
Description: Rename field names.

## Static Field: TARGET_FLAG_METHODS
Type: `int`

Constant value: `4`
Description: Rename method names.

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

Description: Get the number of candidate items.
return: the candidate count

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

Description: Get the number of examined items.
return: the examined item count

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

Description: Get the number of failed renames.
return: the failure count

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

Description: Get the number of successful renames.
return: the rename count

## Method: process
- parameter: `interruptible`, type: `boolean`
- parameter: `notifyChanges`, type: `boolean`
- return type: `boolean`

Description: Process candidate items.
parameter: interruptible: true to stop early if the current thread is interrupted
parameter: notifyChanges: true to notify the Dex unit after successful renames
return: true if the method completed, false if it was interrupted

