Package org.gradle.api.model
Annotation Type ManagedType
Marks Gradle-provided types that can be instantiated via the managed object infrastructure.
Types annotated with this annotation will be automatically instantiated by Gradle
when constructing managed objects. This annotation is present only on Gradle-native types
* and does not need to be added to custom user-instantiated types.
To create a managed property, declare an abstract getter method for the given type.
For the managed property to be created properly, the object containing it must be
instantiated using the ObjectFactory.newInstance(Class, Object...)
or as a managed Nested
property.
The example below creates a ConfigurableFileCollection
and RegularFileProperty
automatically when the MyObject
instance is instantiated by Gradle:
interface NestedExample { Property<String> getExampleMessage(); } interface MyObject { ConfigurableFileCollection getFiles(); RegularFileProperty getProperty(); @Nested NestedExample getNested(); } def instance = objects.newInstance(MyObject) instance.files.from(file("foo.txt")) instance.property = file("bar.txt") instance.nested.exampleMessage = "Hello, World!"
- Since:
- 9.0.0
- See Also: