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

Java AST interface to represent a Java class or interface. Class elements contain other classes \(inner classes\), fields, and methods.

## Method: addImport
- parameter: `simplename`, type: `java.lang.String`
- parameter: `signature`, type: `java.lang.String`
- return type: `boolean`

Description: Register a class to be imported in the namespace.
parameter: simplename: simple class name
parameter: signature: FQSS class signature
return: 

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


## Method: generate
- parameter: `out`, type: `com.pnfsoftware.jeb.core.units.code.java.JavaOutputSink`
- parameter: `newArgs`, type: `java.util.List<com.pnfsoftware.jeb.core.units.code.java.IJavaExpression>`
- parameter: `anonStart`, type: `int`
- parameter: `bodyOnly`, type: `boolean`

Description: 
parameter: out: 
parameter: newArgs: 
parameter: anonStart: 
parameter: bodyOnly: 

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


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

Description: Get the annotations for this type.
return: 

## Method: getAnonymousClassSignatures
- return type: `java.util.List<java.lang.String>`

Description: 
return: 

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

Description: 
return: 

## Method: getFieldSignatures
- return type: `java.util.List<java.lang.String>`

Description: 
return: 

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

Description: This convenience method is used to retrieve the list of fields.
return: the list of fields

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

Description: Get the implemented or extended interface types.
return: 

## Method: getImport
- parameter: `simplename`, type: `java.lang.String`
- return type: `java.lang.String`

Description: Get an imported class signature from its simple name.
parameter: simplename: simple class name
return: FQSS class signature

## Method: getInnerClassSignatures
- return type: `java.util.List<java.lang.String>`

Description: 
return: 

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

Description: This convenience method is used to retrieve the list of inner classes.
return: the list of inner classes

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

Description: This convenience method is used to retrieve the list of methods.
return: the list of methods

## Method: getMethodsSignatures
- return type: `java.util.List<java.lang.String>`

Description: 
return: 

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

Description: Get the type name. The name is a fully\-qualified Java name, such as: `Lcom/foo/Bar;`
return: the class name

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

Description: 
return: original internal signature

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

Description: Get the super type.
return: 

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

Description: Get the class or interface type.
return: the type

## Method: isAnnotation
- return type: `boolean`


## Method: isAnonymous
- return type: `boolean`


## Method: isEnumeration
- return type: `boolean`


## Method: isInner
- return type: `boolean`


## Method: isInterface
- return type: `boolean`


## Method: isStatic
- return type: `boolean`


## Method: isSynthetic
- return type: `boolean`


