# Interface: com.pnfsoftware.jeb.core.units.code.java.IJavaGlobalContext

`dexdec` global context for AST generation. This interface contains references to objects necessary to access and manipulate ASTs generated by the decompiler.

## Method: createMasterOptimizer
- parameter: `elt`, type: `com.pnfsoftware.jeb.core.units.code.java.IJavaDecompilableElement`
- parameter: `registerBuiltinOptimizers`, type: `boolean`
- parameter: `initializeWithDexdecSettings`, type: `boolean`
- parameter: `registerExternalOptimizers`, type: `boolean`
- return type: `com.pnfsoftware.jeb.core.units.code.java.IJMasterOptimizer`

Description: Create a master optimizer targeting the provided AST element.
parameter: elt: a method or class
parameter: registerBuiltinOptimizers: true to register built\-in optimizers
parameter: initializeWithDexdecSettings: true to initialize using dex decompiler settings
parameter: registerExternalOptimizers: true to register external optimizer plugins
return: master optimizer

## Method: createMasterOptimizer
- parameter: `elt`, type: `com.pnfsoftware.jeb.core.units.code.java.IJavaDecompilableElement`
- return type: `com.pnfsoftware.jeb.core.units.code.java.IJMasterOptimizer`

Description: Create a pre\-initialized master optimizer targeting the provided AST element. This convenience method is equivalent to [createMasterOptimizer\(elt, true, true, true\)](#createMasterOptimizer(IJavaDecompilableElement, boolean, boolean, boolean)).
parameter: elt: a method or class
return: master optimizer

## Method: getClassFactory
- return type: `com.pnfsoftware.jeb.core.units.code.java.IJavaClassFactory`

Description: Retrieve the Java class factory.
return: class factory

## Method: getConstantFactory
- return type: `com.pnfsoftware.jeb.core.units.code.java.IJavaConstantFactory`

Description: Retrieve the Java constant factory.
return: constant factory

## Method: getDecompiler
- return type: `com.pnfsoftware.jeb.core.units.code.android.IDexDecompilerUnit`

Description: Retrieve the owning dex decompiler.
return: dex decompiler, or null if unavailable

## Method: getFieldFactory
- return type: `com.pnfsoftware.jeb.core.units.code.java.IJavaFieldFactory`

Description: Retrieve the Java field factory.
return: field factory

## Method: getMethodFactory
- return type: `com.pnfsoftware.jeb.core.units.code.java.IJavaMethodFactory`

Description: Retrieve the Java method factory.
return: method factory

## Method: getOperatorFactory
- return type: `com.pnfsoftware.jeb.core.units.code.java.IJavaOperatorFactory`

Description: Retrieve the Java operator factory.
return: operator factory

## Method: getTypeFactory
- return type: `com.pnfsoftware.jeb.core.units.code.java.IJavaTypeFactory`

Description: Retrieve the Java type factory.
return: type factory

