# Interface: com.pnfsoftware.jeb.core.units.code.asm.type.ITypeLibrary

Definition of a type library. Type libraries are managed by a [TypeLibraryService](TypeLibraryService).

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

Description: Get the author name.
return: the optional author name

## Method: getCompilerType
- return type: `com.pnfsoftware.jeb.core.units.codeobject.CompilerType`

Description: Get the optional compiler type this typelib was generated for.
return: compiler type, or null

## Method: getConstantManager
- return type: `com.pnfsoftware.jeb.core.units.code.asm.type.CodeConstantManager`

Description: Get the constants managed by this typelib.
return: constant manager

## Method: getCreationTimestamp
- return type: `long`

Description: Get the creation timestamp of this type library.
return: the create time Unix epoch \(number of seconds since Jan 1, 1970\), 0 if none

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

Description: Get the type library description string.
return: the optional description

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

Description: The type library group id, 0 if none. Refer to [TypeLibraryService](TypeLibraryService) for a list of constants.
return: the optional group ID \(0 if none\)

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

Description: Get the type library name.
return: the optional name \(not necessarily unique\)

## Method: getPrimaryProcessorType
- return type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`

Description: The intended processor the type library is valid for.
return: primary processor type

## Method: getPrimarySubsystemType
- return type: `com.pnfsoftware.jeb.core.units.codeobject.SubsystemType`

Description: Get the primary targeted subsystem. Indicative only, may be null.
return: potentially null

## Method: getPriorityOrder
- return type: `double`

Description: The priority is used to discriminate two type libraries belonging to the same group. A lower number means the typelib will be loaded and consulted before another typelib \(from the same group\) with a higher priority order.
return: the priority order \(lower number = higher priority\)

## Method: getProcessorTypes
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.codeobject.ProcessorType>`

Description: All processors the type library is valid for.
return: processor types

## Method: getRoutines
- return type: `java.util.Collection<com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem>`

Description: Get the list of routine references contained in this library.
return: the routines declared in the type library

## Method: getSubsystemTypes
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.codeobject.SubsystemType>`

Description: Get a list of targeted subsystems. Indicative only, may be empty.
return: never null, potentially empty

## Method: getTypes
- return type: `java.util.Collection<com.pnfsoftware.jeb.core.units.code.asm.type.INativeType>`

Description: Get the list of types contained in this library.
return: the list of types

## Method: getTypes
- parameter: `filter`, type: `com.pnfsoftware.jeb.util.base.ISimpleFilter<com.pnfsoftware.jeb.core.units.code.asm.type.INativeType>`
- return type: `java.util.Collection<com.pnfsoftware.jeb.core.units.code.asm.type.INativeType>`

Description: Get a list of types contained in this library.
parameter: filter: optional type filter
return: the list of types

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

Description: Get the unique type library identifier.
return: UUID

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

Description: Get the incremental version number of this type library.
return: the optional version number \(0 if none\)

