Package groovy.transform

# Enum RecordTypeMode

java.lang.Object
java.lang.Enum<RecordTypeMode>
groovy.transform.RecordTypeMode

All Implemented Interfaces:
  `Serializable`, `Comparable<RecordTypeMode>`, `java.lang.constant.Constable`

public enum RecordTypeMode extends Enum<RecordTypeMode>
Intended mode to use for records when using the `@RecordType` annotation (or `record` keyword).

Since:
  4.0.0
See Also:
  - `RecordType`

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `AUTO`
  Produce native records when compiling for a suitable target bytecode (JDK16+).
  `EMULATE`
  Produce a record-like class.
  `NATIVE`
  Produce a Java-like "native" record (JEP 359/384/395).

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static RecordTypeMode`
  `valueOf(String name)`
  Returns the enum constant of this type with the specified name.
  `static RecordTypeMode[]`
  `values()`
  Returns an array containing the constants of this enum type, in the order they are declared.

  ### Methods inherited from class java.lang.Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods inherited from class java.lang.Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### EMULATE

    public static final RecordTypeMode EMULATE
    Produce a record-like class.

  - ### NATIVE

    public static final RecordTypeMode NATIVE
    Produce a Java-like "native" record (JEP 359/384/395).

  - ### AUTO

    public static final RecordTypeMode AUTO
    Produce native records when compiling for a suitable target bytecode (JDK16+).

- ## Method Details

  - ### values

    public static RecordTypeMode[] values()
    Returns an array containing the constants of this enum type, in the order they are declared.
    Returns:
      an array containing the constants of this enum type, in the order they are declared

  - ### valueOf

    public static RecordTypeMode valueOf(String name)
    Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum type has no constant with the specified name
      `NullPointerException` - if the argument is null