# Interface: com.pnfsoftware.jeb.core.units.IUnitPlugin
- Super interfaces: `com.pnfsoftware.jeb.core.IPlugin`

Definition of a unit plugin. Unit plugins are either [identifiers](com.pnfsoftware.jeb.core.units.IUnitIdentifier.md) or  specialized [native plugins](com.pnfsoftware.jeb.core.units.code.asm.INativePlugin.md).

## Abstract Method: getFormatType
- return type: `java.lang.String`

Description: Retrieve the identity of the unit type. The type should be unique across all units.
return: the non\-null type

## Abstract Method: getPriority
- return type: `double`

Description: Get the identifier priority. Priority can be negative. Priorities are used by identifier  managers \(eg, [Processors](com.pnfsoftware.jeb.core.units.IUnitProcessor.md)\) to ensure that identifiers are called in a  \(partially\) predictable order, if need be. The higher the number, the higher the priority.  

  Recommendation: typical priority is zero. Relying on priority for proper identification  should be used as a last resort measure.
return: the identifier priority

## Abstract Method: getPropertyDefinitionManager
- return type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager`

Description: Retrieve the property definition manager \(PDM\) used by this plugin.
return: the PDM

## Abstract Method: getTypeIdProvider
- return type: `com.pnfsoftware.jeb.util.serialization.ITypeIdProvider`

Description: The type\-id provider for this type of units. **Currently, This method is not intended to use  by third\-party clients.**
return: a type\-id provider, null if none

## Abstract Method: initialize
- parameter: `parent`, type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager`

Description: Create and initialize the property manager for this identifier. This method is usually called  after construction on the identifier.  

  Overrides are allowed if a plugin needs to define its own properties, but a call to the  superclass method should take place first. If not, the implementor is responsible for  creating the plugins' PDM.
parameter: parent: the parent PDM

