# Class Processor

java.lang.Object
org.apache.commons.lang3.arch.Processor

public class Processor extends Object
The `Processor` represents a microprocessor and defines some properties like architecture and type of the microprocessor.

Since:
  3.6

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `Processor.Arch`
  The `Processor.Arch` enum defines the architecture of a microprocessor.
  `static enum`
  `Processor.Type`
  The `Processor.Type` enum defines types of a microprocessor.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Processor(Processor.Arch arch, Processor.Type type)`
  Constructs a `Processor` object with the given parameters.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Processor.Arch`
  `getArch()`
  Gets the processor architecture as an `Processor.Arch` enum.
  `Processor.Type`
  `getType()`
  Gets the processor type as `Processor.Type` enum.
  `boolean`
  `is32Bit()`
  Tests if `Processor` is 32 bit.
  `boolean`
  `is64Bit()`
  Tests if `Processor` is 64 bit.
  `boolean`
  `isAarch64()`
  Tests if `Processor` is type of Aarch64.
  `boolean`
  `isIA64()`
  Tests if `Processor` is type of Intel Itanium.
  `boolean`
  `isPPC()`
  Tests if `Processor` is type of Power PC.
  `boolean`
  `isRISCV()`
  Tests if `Processor` is type of RISC-V.
  `boolean`
  `isX86()`
  Tests if `Processor` is type of x86.
  `String`
  `toString()`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### Processor

    public Processor(Processor.Arch arch, Processor.Type type)
    Constructs a `Processor` object with the given parameters.
    Parameters:
      `arch` - The processor architecture.
      `type` - The processor type.

- ## Method Details

  - ### getArch

    public Processor.Arch getArch()
    Gets the processor architecture as an `Processor.Arch` enum. The processor architecture defines, if the processor has a 32 or 64 bit architecture.
    Returns:
      A `Processor.Arch` enum.

  - ### getType

    public Processor.Type getType()
    Gets the processor type as `Processor.Type` enum. The processor type defines, if the processor is for example an x86 or PPA.
    Returns:
      A `Processor.Type` enum.

  - ### is32Bit

    public boolean is32Bit()
    Tests if `Processor` is 32 bit.
    Returns:
      `true`, if `Processor` is `Processor.Arch.BIT_32`, else `false`.

  - ### is64Bit

    public boolean is64Bit()
    Tests if `Processor` is 64 bit.
    Returns:
      `true`, if `Processor` is `Processor.Arch.BIT_64`, else `false`.

  - ### isAarch64

    public boolean isAarch64()
    Tests if `Processor` is type of Aarch64.
    Returns:
      `true`, if `Processor` is `Processor.Type.AARCH_64`, else `false`.
    Since:
      3.13.0

  - ### isIA64

    public boolean isIA64()
    Tests if `Processor` is type of Intel Itanium.
    Returns:
      `true`. if `Processor` is `Processor.Type.IA_64`, else `false`.

  - ### isPPC

    public boolean isPPC()
    Tests if `Processor` is type of Power PC.
    Returns:
      `true`. if `Processor` is `Processor.Type.PPC`, else `false`.

  - ### isRISCV

    public boolean isRISCV()
    Tests if `Processor` is type of RISC-V.
    Returns:
      `true`. if `Processor` is `Processor.Type.RISC_V`, else `false`.
    Since:
      3.14.0

  - ### isX86

    public boolean isX86()
    Tests if `Processor` is type of x86.
    Returns:
      `true`, if `Processor` is `Processor.Type.X86`, else `false`.

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`