# Package org.gradle.model

@Incubating package org.gradle.model
Classes that operate upon the Gradle model.

- Related Packages
  Package
  Description
  org.gradle
  The top-level package for the Gradle build system.
- Class
  Description
  ConfigurationCycleException
  Thrown when a cycle is encountered while configuring a model element.
  Defaults
  Denotes that the `RuleSource` method rule carrying this annotation initializes the rule subject with default values.
  Each
  Signals that a `RuleSource` rule should be applied to all matching descendant elements of the scope instead of the scope itself.
  Finalize
  Denotes that the `RuleSource` method rule carrying this annotation finalizes the rule subject.
  InvalidModelRuleDeclarationException
  Thrown when a model rule, or source of model rules, is declared in an invalid way.
  InvalidModelRuleException
  Thrown when there is a problem with the usage of a model rule.
  Managed
  A managed type is transparent to the model space, and enforces immutability at the appropriate times in the object's lifecycle.
  Model
  Denotes that the `RuleSource` method rule carrying this annotation creates a new top level element in the model space.
  ModelElement
  Represents an element in a model.
  ModelMap<T>
  Model backed map like structure allowing adding of items where instantiation is managed.
  ModelRuleBindingException
  Thrown when there is a problem binding the model element references of a model rule.
  ModelSet<T>
  A set of managed model objects.
  ModelViewClosedException
  Thrown when at attempt is made to mutate a subject of a rule after the rule has completed.
  Mutate
  Denotes that the `RuleSource` method rule carrying this annotation mutates the rule subject.
  Path
  Specifies a model path on a parameter
  ReadOnlyModelViewException
  Thrown when an attempt is made to change the value of a model element that is not writable at the time.
  RuleInput
  Attached to the getter for a property on a `RuleSource` to denote that the property defines an implicit input for all rules defined by the rule source.
  Rules
  Denotes that the `RuleSource` method rule carrying this annotation defines additional rules based on its inputs.
  RuleSource
  A marker type for a class that is a collection of rules.
  RuleTarget
  Attached to the getter for a property on a `RuleSource` to denote that the property defines the target for the rule source.
  Unmanaged
  Indicates that a property of a managed model element is explicitly of an unmanaged type.
  Validate
  Denotes that the `RuleSource` method rule carrying this annotation validates the rule subject.
  WriteOnlyModelViewException
  Thrown when an attempt is made to read the value of a model element that is not readable at the time.