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

These objects represent DEX strings. The value of a string can be modified programmatically.

## Method: getHintUsedAsImmediate
- return type: `java.lang.Boolean`

Description: This method provides a hint regarding how this string is used. If true, it appears that it is used as an immediate in the code, e.g. as a parameter to a `const-string` opcode. If false, it appears the string used used as a metadata element, such as a method name, or part of a type descriptor.
return: true if the string is used as an immediate; false if the string is a pure metadata         element \(this method never returns null\)

## Method: getHintUsedInDex
- return type: `java.lang.Boolean`

Description: This method provides a hint regarding whether this string appears to be used in the dex unit. Usage here is meant in the broadest sense: it could be a string immediate used in Dalvik, or a meta string referenced by other dex objects present in one of the dex files parsed to create the dex unit.
return: true if the string is used; false if the string is not used \(dangling string\); null         if unknown

## Method: getHintUsedInDex
- parameter: `hintUsedAsImm`, type: `java.lang.Boolean`
- return type: `java.lang.Boolean`

Description: This method provides a hint regarding whether this string appears to be used in the dex unit. Usage here is meant in the broadest sense: it could be a string immediate used in Dalvik, or a meta string referenced by other dex objects present in one of the dex files parsed to create the dex unit.
parameter: hintUsedAsImm: a hint regarding the potential usage of this string as a dex immediate,            as returned by [#getHintUsedAsImmediate()](#getHintUsedAsImmediate()); if unknown, leave to null
return: true if the string is used; false if the string is not used \(dangling string\); null         if unknown

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

Description: Retrieve the string value.
parameter: effective: true to retrieve the current value, false to retrieve the original value
return: 

## Method: setValue
- parameter: `value`, type: `java.lang.String`

Description: Set the alternate value of a string. This method does not check for duplicates in the string pool: it may break the DEX specifications. 

 On success, it is the responsibility of the caller to notify client code that the unit has changed, by issuing a [J#UnitChange](J#UnitChange) to [listeners](#notifyListeners(com.pnfsoftware.jeb.util.events.IEvent)).
parameter: value: the new value, or null to reset to the original value

