# Class MachineArchitecture

java.lang.Object
org.gradle.nativeplatform.MachineArchitecture

All Implemented Interfaces:
  `Named`

public abstract class MachineArchitecture extends Object implements Named
Represents a target architecture of a component. Typical architectures include "x86" and "x86-64".

Since:
  5.1

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Attribute<MachineArchitecture>`
  `ARCHITECTURE_ATTRIBUTE`
  `static final String`
  `ARM64`
  The ARM 64-bit architecture
  `static final String`
  `X86`
  The intel x86 32-bit architecture
  `static final String`
  `X86_64`
  The intel x86 64-bit architecture

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MachineArchitecture()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract String`
  `getName()`
  The object's name.

  ### Methods inherited from class Object

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

- ## Field Details

  - ### ARCHITECTURE_ATTRIBUTE

    public static final Attribute<MachineArchitecture> ARCHITECTURE_ATTRIBUTE

  - ### X86

    public static final String X86
    The intel x86 32-bit architecture
    See Also:
      - Constant Field Values

  - ### X86_64

    public static final String X86_64
    The intel x86 64-bit architecture
    See Also:
      - Constant Field Values

  - ### ARM64

    @Incubating public static final String ARM64
    The ARM 64-bit architecture
    Since:
      7.6
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### MachineArchitecture

    public MachineArchitecture()

- ## Method Details

  - ### getName

    @Input public abstract String getName()
    The object's name.

    Must be constant for the life of the object.

    Specified by:
      `getName` in interface `Named`
    Returns:
      The name. Never null.