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

Java AST interface to represent a Java identifier, or variable. 

 Example:  

```

 int someVariable = 3;
     ^^^^^^^^^^^^
 
```

## Method: duplicate
- return type: `com.pnfsoftware.jeb.core.units.code.java.IJavaIdentifier`


## Method: generate
- parameter: `out`, type: `com.pnfsoftware.jeb.core.units.code.java.JavaOutputSink`
- parameter: `definition`, type: `boolean`

Description: Custom AST code generator that allows specifying whether the generation of this identifier is part of its initial definition.
parameter: out: 
parameter: definition: true if this identifier is generated by its containing            [IJavaDefinition](IJavaDefinition) element

## Method: getDebugName
- return type: `java.lang.String`

Description: Get the identifier's debug name, if any was provided. 

 In order to retrieve the current \(effective\) name, use [IJavaSourceUnit#getIdentifierName(IJavaIdentifier)](IJavaSourceUnit#getIdentifierName(IJavaIdentifier)).
return: the debug name, null if none was provided

## Method: getDefinition
- return type: `com.pnfsoftware.jeb.core.units.code.java.IJavaDefinition`

Description: Get this identifier's definition statement.
return: 

## Method: getGeneratedName
- parameter: `sink`, type: `com.pnfsoftware.jeb.core.units.code.java.JavaOutputSink`
- return type: `java.lang.String`

Description: Retrieve the actual identifier name that would be generated to the provided sink.
parameter: sink: 
return: 

## Method: getGeneratedType
- parameter: `sink`, type: `com.pnfsoftware.jeb.core.units.code.java.JavaOutputSink`
- return type: `java.lang.String`

Description: Retrieve the actual type name that would be generated to the provided sink.
parameter: sink: 
return: 

## Method: getName
- return type: `java.lang.String`

Description: Get the identifier original name. 

 In order to retrieve the current \(effective\) name, use [IJavaSourceUnit#getIdentifierName(IJavaIdentifier)](IJavaSourceUnit#getIdentifierName(IJavaIdentifier)).
return: the original \(not necessarily current\) name, never null

## Method: getType
- return type: `com.pnfsoftware.jeb.core.units.code.java.IJavaType`

Description: Get this identifier's type.
return: 

