# Enum RulesMode

java.lang.Object
java.lang.Enum<RulesMode>
org.gradle.api.initialization.resolve.RulesMode

All Implemented Interfaces:
  `Serializable, Comparable<RulesMode>, Constable`

public enum RulesMode extends Enum<RulesMode>
The rules mode determines how component metadata rules should be applied.

Since:
  6.8

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class Enum

  `Enum.EnumDesc<E>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `FAIL_ON_PROJECT_RULES`
  If this mode is set, any component metadata rule declared directly in a project, either directly or via a plugin, will trigger a build error.
  `PREFER_PROJECT`
  If this mode is set, any component metadata rule declared on a project will cause the project to use the rules declared by the project, ignoring those declared in settings.
  `PREFER_SETTINGS`
  If this mode is set, any component metadata rule declared directly in a project, either directly or via a plugin, will be ignored.

- ## Method Summary

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

  ### Methods inherited from class Enum

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

  ### Methods inherited from class Object

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

- ## Enum Constant Details

  - ### PREFER_PROJECT

    public static final RulesMode PREFER_PROJECT
    If this mode is set, any component metadata rule declared on a project will cause the project to use the rules declared by the project, ignoring those declared in settings. This is the default behavior.

  - ### PREFER_SETTINGS

    public static final RulesMode PREFER_SETTINGS
    If this mode is set, any component metadata rule declared directly in a project, either directly or via a plugin, will be ignored.

  - ### FAIL_ON_PROJECT_RULES

    public static final RulesMode FAIL_ON_PROJECT_RULES
    If this mode is set, any component metadata rule declared directly in a project, either directly or via a plugin, will trigger a build error.

- ## Method Details

  - ### values

    public static RulesMode[] 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 RulesMode 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