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

A manager of [IJavaLabel](IJavaLabel). Each [IJavaMethod](IJavaMethod) has its own label factory.

## Method: checkEquivalence
- parameter: `label1`, type: `com.pnfsoftware.jeb.core.units.code.java.IJavaLabel`
- parameter: `label2`, type: `com.pnfsoftware.jeb.core.units.code.java.IJavaLabel`
- return type: `boolean`

Description: Determine whether two labels refer to equivalent locations.
parameter: label1: first label
parameter: label2: second label
return: true if the labels are equivalent

## Method: create
- parameter: `offset`, type: `int`
- parameter: `name`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.units.code.java.IJavaLabel`

Description: Create a named label.
parameter: offset: a client\-defined offset, that may or may not represent a valid location within            the instruction sequence used to build this AST. In practice, this offset should            be an IR instruction one.
parameter: name: mandatory label name, should be unique, or the method will throw an exception.
return: the newly created label

## Method: create
- parameter: `offset`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.java.IJavaLabel`

Description: Create an unnamed label at an offset.
parameter: offset: client\-defined offset
return: the newly created label

## Method: create
- return type: `com.pnfsoftware.jeb.core.units.code.java.IJavaLabel`

Description: Create an unnamed label with no offset.
return: the newly created label

## Method: getLabels
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.java.IJavaLabel>`

Description: Get the list of labels defined by the factory.
return: defined labels

## Method: recordTrampoline
- parameter: `trampoAddr`, type: `int`
- parameter: `targetAddr`, type: `int`

Description: Record a trampoline relationship between two addresses.
parameter: trampoAddr: trampoline address
parameter: targetAddr: target address

