# Class: com.pnfsoftware.jeb.core.units.codeobject.ProcessorType

Dynamic enumeration of processor types.

## Protected Constructor: ProcessorType
- parameter: `id`, type: `int`
- parameter: `name`, type: `java.lang.String`
- parameter: `family`, type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorFamily`


## Protected Constructor: ProcessorType
- parameter: `id`, type: `int`
- parameter: `name`, type: `java.lang.String`


## Static Field: ARM
Type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
Description: variants of ARM 32\-bit \(arm, thumb, thumb2, fpu/neon, arm\-v7, etc.\)

## Static Field: ARM64
Type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
Description: variants of ARM aarch64

## Static Field: AVR
Type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
Description: Atmel AVR 8\-bit microcontroller

## Static Field: AVR32
Type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
Description: Atmel Corporation 32\-bit microprocessor family

## Static Field: MIPS
Type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
Description: variants of MIPS 32\-bit

## Static Field: MIPS64
Type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
Description: variants of MIPS 64\-bit

## Static Field: PNFDMY1
Type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
Description: Reserved \- Virtual processor \("PNF DUMMY 1"\) reserved for internal testing use.

## Static Field: PNFDMY2
Type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
Description: Reserved \- Virtual processor \("PNF DUMMY 2"\) reserved for internal testing use.

## Static Field: UNKNOWN
Type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
Description: unknown processor

## Static Field: X86
Type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
Description: variants of X86 32\-bit

## Static Field: X86_64
Type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
Description: variants of AMD64

## Static Field: builtinCount
Type: `int`
Description: Number of built\-in processor types.

## Protected Static Field: map
Type: `java.util.LinkedHashMap<java.lang.String,com.pnfsoftware.jeb.core.units.codeobject.ProcessorType>`
Description: Registered processor types.

## Method: getFamily
- return type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorFamily`

Description: Retrieve the processor family.
return: processor family

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

Description: Determine whether this is a 64\-bit processor.
return: true for 64\-bit processors

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

Description: Convenience method to perform an ARM family check

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

Description: Determine whether this is an AVR processor.
return: true for AVR processors

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

Description: Convenience method to perform an X86 family check

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

Description: Convenience method to perform a MIPS family check

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


## Static Method: count
- return type: `int`

Description: Get number of registered processor types.
return: number of registered processor types

## Static Method: register
- parameter: `id`, type: `int`
- parameter: `name`, type: `java.lang.String`
- parameter: `family`, type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorFamily`
- return type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`

Description: Dynamically add a new processor type.
parameter: id: use one of [WellKnownProcessorIds](WellKnownProcessorIds); if the list does not contain the wanted            processor, check the official UNIX ids            \(https://www.sco.com/developers/gabi/latest/ch4.eheader.html\) and use the            appropriate id is possible; for custom or unspecified architectures, use a unique            id greater than or equal `WellKnownProcessorIds#ID_CUSTOM_START`
parameter: name: processor name
parameter: family: processor family \(optional\)
return: registered processor type

## Static Method: unregister
- parameter: `name`, type: `java.lang.String`
- return type: `boolean`

Description: Unregister a dynamic processor type.
parameter: name: processor type name
return: true if the type was unregistered

## Static Method: valueOf
- parameter: `name`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`

Description: Retrieve a processor type by name.
parameter: name: processor type name
return: matching processor type, or [#UNKNOWN](#UNKNOWN)

## Static Method: valueOf
- parameter: `id`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`

Description: Retrieve a processor type by id.
parameter: id: processor type id
return: matching processor type, or [#UNKNOWN](#UNKNOWN)

## Static Method: values
- return type: `java.util.Collection<com.pnfsoftware.jeb.core.units.codeobject.ProcessorType>`

Description: Get registered processor types.
return: registered processor types

