CINXE.COM
ObjectFactory (Gradle API 8.12.1)
<!DOCTYPE HTML> <html lang="en"> <head> <!-- Generated by javadoc (17) --> <title>ObjectFactory (Gradle API 8.12.1)</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="description" content="declaration: package: org.gradle.api.model, interface: ObjectFactory"> <meta name="generator" content="javadoc/ClassWriterImpl"> <link rel="stylesheet" type="text/css" href="../../../../javadoc.css" title="Style"> <link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style"> <link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style"> <script type="text/javascript" src="../../../../script.js"></script> <script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script> <script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script> <!-- Set siteDecorateVersion --> <script type="text/javascript"> window.siteDecorateVersion = "8.12.1"; </script> <!-- Prefetch header and footer html if on Gradle<4.4 for User Manual --> <!-- Prefetch header html for Javadoc --> <link rel="prefetch" href="/site-header.html"> <!-- Prefetch footer html if on Gradle<=8.11 for Javadoc --> <!-- Load build-tool.css if on Gradle<8.0 for Javadoc --> <!-- Load build-tool-modern.css if on Gradle>=8.0 for Javadoc --> <link rel="stylesheet" href="/build-tool-modern.css"> <!-- Load build-tool.css for Release Notes --> <!-- Load decorate.css if on Gradle<=4.3 for User Manual --> <!-- Load decorate.css if on Gradle<=4.4 for DSL Reference --> <!-- Load decorate.css if on Gradle<=4.5 for Javadoc --> <!-- Load jquery.js on Gradle<=4.4 for User Manual and Javadocs, but not for Release Notes --> <!-- Load decorate.js to inject header and footer on Gradle<=4.4 for User Manual --> <!-- Load decorate.js to inject header and footer for Release Notes --> <!-- Load decorate.js to inject header and footer for Javadoc --> <script src="/decorate.js" type="text/javascript" defer></script> <!-- Load common js --> <script type="text/javascript" src="/build-tool.js"></script> <!-- Load DocSearch/Algolia assets --> <!-- Load ratings css and js --> <!-- Load Cookie Consent on User Manual --> <!-- Load Google Tag Manager on User Manual --> <!-- Load canonical link and structured data for SEO --> <link rel="canonical" href="https://docs.gradle.org/current/javadoc/org/gradle/api/model/ObjectFactory.html" /> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "name": "Gradle Documentation", "url": "https://docs.gradle.org/current/javadoc/org/gradle/api/model/ObjectFactory.html" } </script> <!-- Load common Google Site Verification --> <meta name="google-site-verification" content="kCnBfMu0lbnMpfg3t1-ZgJHbSOSYRSquWsxQ4HgqLkA" /></head> <body class="class-declaration-page"> <script type="text/javascript">var evenRowColor = "even-row-color"; var oddRowColor = "odd-row-color"; var tableTab = "table-tab"; var activeTableTab = "active-table-tab"; var pathtoroot = "../../../../"; loadScripts(document, 'script');</script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <div class="flex-box"> <header role="banner" class="flex-header"> <nav role="navigation"> <!-- ========= START OF TOP NAVBAR ======= --> <div class="top-nav" id="navbar-top"> <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div> <ul id="navbar-top-firstrow" class="nav-list" title="Navigation"> <li><a href="../../../../index.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="nav-bar-cell1-rev">Class</li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../index-all.html">Index</a></li> <li><a href="../../../../help-doc.html#class">Help</a></li> </ul> </div> <div class="sub-nav"> <div> <ul class="sub-nav-list"> <li>Summary: </li> <li>Nested | </li> <li>Field | </li> <li>Constr | </li> <li><a href="#method-summary">Method</a></li> </ul> <ul class="sub-nav-list"> <li>Detail: </li> <li>Field | </li> <li>Constr | </li> <li><a href="#method-detail">Method</a></li> </ul> </div> <div class="nav-list-search"><label for="search-input">SEARCH:</label> <input type="text" id="search-input" value="search" disabled="disabled"> <input type="reset" id="reset-button" value="reset" disabled="disabled"> </div> </div> <!-- ========= END OF TOP NAVBAR ========= --> <span class="skip-nav" id="skip-navbar-top"></span></nav> </header> <div class="flex-content"> <main role="main"> <!-- ======== START OF CLASS DATA ======== --> <div class="header"> <div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">org.gradle.api.model</a></div> <h1 title="Interface ObjectFactory" class="title">Interface ObjectFactory</h1> </div> <section class="class-description" id="class-description"> <hr> <div class="type-signature"><span class="annotations">@ServiceScope({org.gradle.internal.service.scopes.Scope.Global.class,org.gradle.internal.service.scopes.Scope.Project.class}) </span><span class="modifiers">public interface </span><span class="element-name type-name-label">ObjectFactory</span></div> <div class="block">A factory for creating various kinds of model objects. <p> An instance of the factory can be injected into a task, plugin or other object by annotating a public constructor or property getter method with <code>javax.inject.Inject</code>. It is also available via <a href="../Project.html#getObjects()"><code>Project.getObjects()</code></a>.</div> <dl class="notes"> <dt>Since:</dt> <dd>4.0</dd> </dl> </section> <section class="summary"> <ul class="summary-list"> <!-- ========== METHOD SUMMARY =========== --> <li> <section class="method-summary" id="method-summary"> <h2>Method Summary</h2> <div id="method-summary-table"> <div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div> <div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0"> <div class="summary-table three-column-summary"> <div class="table-header col-first">Modifier and Type</div> <div class="table-header col-second">Method</div> <div class="table-header col-last">Description</div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../artifacts/dsl/DependencyCollector.html" title="interface in org.gradle.api.artifacts.dsl">DependencyCollector</a></code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#dependencyCollector()" class="member-name-link">dependencyCollector</a>()</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a new <a href="../artifacts/dsl/DependencyCollector.html" title="interface in org.gradle.api.artifacts.dsl"><code>DependencyCollector</code></a> used for declaring dependencies.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../file/DirectoryProperty.html" title="interface in org.gradle.api.file">DirectoryProperty</a></code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#directoryProperty()" class="member-name-link">directoryProperty</a>()</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a new <a href="../file/DirectoryProperty.html" title="interface in org.gradle.api.file"><code>DirectoryProperty</code></a> that uses the project directory to resolve relative paths, if required.</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><T> <a href="../NamedDomainObjectContainer.html" title="interface in org.gradle.api">NamedDomainObjectContainer</a><T></code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#domainObjectContainer(java.lang.Class)" class="member-name-link">domainObjectContainer</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType)</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a new <a href="../NamedDomainObjectContainer.html" title="interface in org.gradle.api"><code>NamedDomainObjectContainer</code></a> for managing named objects of the specified type.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><T> <a href="../NamedDomainObjectContainer.html" title="interface in org.gradle.api">NamedDomainObjectContainer</a><T></code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#domainObjectContainer(java.lang.Class,org.gradle.api.NamedDomainObjectFactory)" class="member-name-link">domainObjectContainer</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType, <a href="../NamedDomainObjectFactory.html" title="interface in org.gradle.api">NamedDomainObjectFactory</a><T> factory)</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a new <a href="../NamedDomainObjectContainer.html" title="interface in org.gradle.api"><code>NamedDomainObjectContainer</code></a> for managing named objects of the specified type.</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><T> <a href="../DomainObjectSet.html" title="interface in org.gradle.api">DomainObjectSet</a><T></code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#domainObjectSet(java.lang.Class)" class="member-name-link">domainObjectSet</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType)</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a new <a href="../DomainObjectSet.html" title="interface in org.gradle.api"><code>DomainObjectSet</code></a> for managing objects of the specified type.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../file/ConfigurableFileCollection.html" title="interface in org.gradle.api.file">ConfigurableFileCollection</a></code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#fileCollection()" class="member-name-link">fileCollection</a>()</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a new <a href="../file/ConfigurableFileCollection.html" title="interface in org.gradle.api.file"><code>ConfigurableFileCollection</code></a>.</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../file/RegularFileProperty.html" title="interface in org.gradle.api.file">RegularFileProperty</a></code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#fileProperty()" class="member-name-link">fileProperty</a>()</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a new <a href="../file/RegularFileProperty.html" title="interface in org.gradle.api.file"><code>RegularFileProperty</code></a> that uses the project directory to resolve relative paths, if required.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../file/ConfigurableFileTree.html" title="interface in org.gradle.api.file">ConfigurableFileTree</a></code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#fileTree()" class="member-name-link">fileTree</a>()</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a new <a href="../file/ConfigurableFileTree.html" title="interface in org.gradle.api.file"><code>ConfigurableFileTree</code></a>.</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><T> <a href="../provider/ListProperty.html" title="interface in org.gradle.api.provider">ListProperty</a><T></code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#listProperty(java.lang.Class)" class="member-name-link">listProperty</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType)</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a <a href="../provider/ListProperty.html" title="interface in org.gradle.api.provider"><code>ListProperty</code></a> implementation to hold a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link"><code>List</code></a> of the given element type <code>T</code>.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><K,<wbr> V> <a href="../provider/MapProperty.html" title="interface in org.gradle.api.provider">MapProperty</a><K,<wbr>V></code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#mapProperty(java.lang.Class,java.lang.Class)" class="member-name-link">mapProperty</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><K> keyType, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><V> valueType)</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a <a href="../provider/MapProperty.html" title="interface in org.gradle.api.provider"><code>MapProperty</code></a> implementation to hold a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link"><code>Map</code></a> of the given key type <code>K</code> and value type <code>V</code>.</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><T extends <a href="../Named.html" title="interface in org.gradle.api">Named</a>><br>T</code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#named(java.lang.Class,java.lang.String)" class="member-name-link">named</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> type, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a simple immutable <a href="../Named.html" title="interface in org.gradle.api"><code>Named</code></a> object of the given type and name.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><T> <a href="../NamedDomainObjectList.html" title="interface in org.gradle.api">NamedDomainObjectList</a><T></code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#namedDomainObjectList(java.lang.Class)" class="member-name-link">namedDomainObjectList</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType)</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a new <a href="../NamedDomainObjectList.html" title="interface in org.gradle.api"><code>NamedDomainObjectList</code></a> for managing named objects of the specified type.</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><T> <a href="../NamedDomainObjectSet.html" title="interface in org.gradle.api">NamedDomainObjectSet</a><T></code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#namedDomainObjectSet(java.lang.Class)" class="member-name-link">namedDomainObjectSet</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType)</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a new <a href="../NamedDomainObjectSet.html" title="interface in org.gradle.api"><code>NamedDomainObjectSet</code></a> for managing named objects of the specified type.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><T> T</code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#newInstance(java.lang.Class,java.lang.Object...)" class="member-name-link">newInstance</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends T> type, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>... parameters)</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Create a new instance of T, using <code>parameters</code> as the construction parameters.</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><T> <a href="../ExtensiblePolymorphicDomainObjectContainer.html" title="interface in org.gradle.api">ExtensiblePolymorphicDomainObjectContainer</a><T></code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#polymorphicDomainObjectContainer(java.lang.Class)" class="member-name-link">polymorphicDomainObjectContainer</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType)</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a new <a href="../ExtensiblePolymorphicDomainObjectContainer.html" title="interface in org.gradle.api"><code>ExtensiblePolymorphicDomainObjectContainer</code></a> for managing named objects of the specified type.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><T> <a href="../provider/Property.html" title="interface in org.gradle.api.provider">Property</a><T></code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#property(java.lang.Class)" class="member-name-link">property</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> valueType)</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a <a href="../provider/Property.html" title="interface in org.gradle.api.provider"><code>Property</code></a> implementation to hold values of the given type.</div> </div> <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><T> <a href="../provider/SetProperty.html" title="interface in org.gradle.api.provider">SetProperty</a><T></code></div> <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setProperty(java.lang.Class)" class="member-name-link">setProperty</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType)</code></div> <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a <a href="../provider/SetProperty.html" title="interface in org.gradle.api.provider"><code>SetProperty</code></a> implementation to hold a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link"><code>Set</code></a> of the given element type <code>T</code>.</div> </div> <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../file/SourceDirectorySet.html" title="interface in org.gradle.api.file">SourceDirectorySet</a></code></div> <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#sourceDirectorySet(java.lang.String,java.lang.String)" class="member-name-link">sourceDirectorySet</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> displayName)</code></div> <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> <div class="block">Creates a <a href="../file/SourceDirectorySet.html" title="interface in org.gradle.api.file"><code>SourceDirectorySet</code></a>.</div> </div> </div> </div> </div> </section> </li> </ul> </section> <section class="details"> <ul class="details-list"> <!-- ============ METHOD DETAIL ========== --> <li> <section class="method-details" id="method-detail"> <h2>Method Details</h2> <ul class="member-list"> <li> <section class="detail" id="named(java.lang.Class,java.lang.String)"> <h3>named</h3> <div class="member-signature"><span class="type-parameters"><T extends <a href="../Named.html" title="interface in org.gradle.api">Named</a>></span> <span class="return-type">T</span> <span class="element-name">named</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> type, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name)</span> throws <span class="exceptions"><a href="../reflect/ObjectInstantiationException.html" title="class in org.gradle.api.reflect">ObjectInstantiationException</a></span></div> <div class="block">Creates a simple immutable <a href="../Named.html" title="interface in org.gradle.api"><code>Named</code></a> object of the given type and name. <p>The given type can be an interface that extends <a href="../Named.html" title="interface in org.gradle.api"><code>Named</code></a> or an abstract class that 'implements' <a href="../Named.html" title="interface in org.gradle.api"><code>Named</code></a>. An abstract class, if provided:</p> <ul> <li>Must provide a zero-args constructor that is not private.</li> <li>Must not define or inherit any instance fields.</li> <li>Should not provide an implementation for <a href="../Named.html#getName()"><code>Named.getName()</code></a> and should define this method as abstract. Any implementation will be overridden.</li> <li>Must not define or inherit any other abstract methods.</li> </ul> <p>An interface, if provided, must not define or inherit any other methods.</p> <p>Objects created using this method are not decorated or extensible.</p></div> <dl class="notes"> <dt>Throws:</dt> <dd><code><a href="../reflect/ObjectInstantiationException.html" title="class in org.gradle.api.reflect">ObjectInstantiationException</a></code> - On failure to create the new instance.</dd> <dt>Since:</dt> <dd>4.0</dd> </dl> </section> </li> <li> <section class="detail" id="newInstance(java.lang.Class,java.lang.Object...)"> <h3>newInstance</h3> <div class="member-signature"><span class="type-parameters"><T></span> <span class="return-type">T</span> <span class="element-name">newInstance</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><? extends T> type, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>... parameters)</span> throws <span class="exceptions"><a href="../reflect/ObjectInstantiationException.html" title="class in org.gradle.api.reflect">ObjectInstantiationException</a></span></div> <div class="block">Create a new instance of T, using <code>parameters</code> as the construction parameters. <p>The type must be non-final, and can be a class, abstract class or interface.</p> <p>Objects created using this method are decorated and extensible, meaning that they have DSL support mixed in and can be extended using the `extensions` property, similar to the <a href="../Project.html" title="interface in org.gradle.api"><code>Project</code></a> object.</p> <p>An @Inject annotation is required on any constructor that accepts parameters because JSR-330 semantics for dependency injection are used. In addition to those parameters provided as an argument to this method, the following services are also available for injection:</p> <ul> <li><a href="ObjectFactory.html" title="interface in org.gradle.api.model"><code>ObjectFactory</code></a>.</li> <li><a href="../file/ProjectLayout.html" title="interface in org.gradle.api.file"><code>ProjectLayout</code></a>.</li> <li><a href="../provider/ProviderFactory.html" title="interface in org.gradle.api.provider"><code>ProviderFactory</code></a>.</li> <li><a href="../../process/ExecOperations.html" title="interface in org.gradle.process"><code>ExecOperations</code></a></li> <li><a href="../file/FileSystemOperations.html" title="interface in org.gradle.api.file"><code>FileSystemOperations</code></a></li> </ul></div> <dl class="notes"> <dt>Throws:</dt> <dd><code><a href="../reflect/ObjectInstantiationException.html" title="class in org.gradle.api.reflect">ObjectInstantiationException</a></code> - On failure to create the new instance.</dd> <dt>Since:</dt> <dd>4.2</dd> </dl> </section> </li> <li> <section class="detail" id="sourceDirectorySet(java.lang.String,java.lang.String)"> <h3>sourceDirectorySet</h3> <div class="member-signature"><span class="return-type"><a href="../file/SourceDirectorySet.html" title="interface in org.gradle.api.file">SourceDirectorySet</a></span> <span class="element-name">sourceDirectorySet</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> name, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> displayName)</span></div> <div class="block">Creates a <a href="../file/SourceDirectorySet.html" title="interface in org.gradle.api.file"><code>SourceDirectorySet</code></a>.</div> <dl class="notes"> <dt>Parameters:</dt> <dd><code>name</code> - A short name for the set.</dd> <dd><code>displayName</code> - A human consumable display name for the set.</dd> <dt>Since:</dt> <dd>5.0</dd> </dl> </section> </li> <li> <section class="detail" id="fileCollection()"> <h3>fileCollection</h3> <div class="member-signature"><span class="return-type"><a href="../file/ConfigurableFileCollection.html" title="interface in org.gradle.api.file">ConfigurableFileCollection</a></span> <span class="element-name">fileCollection</span>()</div> <div class="block">Creates a new <a href="../file/ConfigurableFileCollection.html" title="interface in org.gradle.api.file"><code>ConfigurableFileCollection</code></a>. The collection is initially empty.</div> <dl class="notes"> <dt>Since:</dt> <dd>5.3</dd> </dl> </section> </li> <li> <section class="detail" id="fileTree()"> <h3>fileTree</h3> <div class="member-signature"><span class="return-type"><a href="../file/ConfigurableFileTree.html" title="interface in org.gradle.api.file">ConfigurableFileTree</a></span> <span class="element-name">fileTree</span>()</div> <div class="block">Creates a new <a href="../file/ConfigurableFileTree.html" title="interface in org.gradle.api.file"><code>ConfigurableFileTree</code></a>. The tree will have no base dir specified.</div> <dl class="notes"> <dt>Since:</dt> <dd>6.0</dd> </dl> </section> </li> <li> <section class="detail" id="domainObjectContainer(java.lang.Class)"> <h3>domainObjectContainer</h3> <div class="member-signature"><span class="type-parameters"><T></span> <span class="return-type"><a href="../NamedDomainObjectContainer.html" title="interface in org.gradle.api">NamedDomainObjectContainer</a><T></span> <span class="element-name">domainObjectContainer</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType)</span></div> <div class="block"><p>Creates a new <a href="../NamedDomainObjectContainer.html" title="interface in org.gradle.api"><code>NamedDomainObjectContainer</code></a> for managing named objects of the specified type.</p> <p>The specified element type must have a public constructor which takes the name as a String parameter. The type must be non-final and a class or abstract class.</p> <p>Interfaces are supported if they declare a read-only <code>name</code> property of type String, and are otherwise empty or consist entirely of managed properties.</p> <p>All objects <b>MUST</b> expose their name as a bean property called "name". The name must be constant for the life of the object.</p> <p>The objects created by the container are decorated and extensible, and have services available for injection. See <a href="#newInstance(java.lang.Class,java.lang.Object...)"><code>newInstance(Class, Object...)</code></a> for more details.</p></div> <dl class="notes"> <dt>Type Parameters:</dt> <dd><code>T</code> - The type of objects for the container to contain.</dd> <dt>Parameters:</dt> <dd><code>elementType</code> - The type of objects for the container to contain.</dd> <dt>Returns:</dt> <dd>The container. Never returns null.</dd> <dt>Since:</dt> <dd>5.5</dd> </dl> </section> </li> <li> <section class="detail" id="domainObjectContainer(java.lang.Class,org.gradle.api.NamedDomainObjectFactory)"> <h3>domainObjectContainer</h3> <div class="member-signature"><span class="type-parameters"><T></span> <span class="return-type"><a href="../NamedDomainObjectContainer.html" title="interface in org.gradle.api">NamedDomainObjectContainer</a><T></span> <span class="element-name">domainObjectContainer</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType, <a href="../NamedDomainObjectFactory.html" title="interface in org.gradle.api">NamedDomainObjectFactory</a><T> factory)</span></div> <div class="block"><p>Creates a new <a href="../NamedDomainObjectContainer.html" title="interface in org.gradle.api"><code>NamedDomainObjectContainer</code></a> for managing named objects of the specified type. The given factory is used to create object instances.</p> <p>All objects <b>MUST</b> expose their name as a bean property named "name". The name must be constant for the life of the object.</p></div> <dl class="notes"> <dt>Type Parameters:</dt> <dd><code>T</code> - The type of objects for the container to contain.</dd> <dt>Parameters:</dt> <dd><code>elementType</code> - The type of objects for the container to contain.</dd> <dd><code>factory</code> - The factory to use to create object instances.</dd> <dt>Returns:</dt> <dd>The container. Never returns null.</dd> <dt>Since:</dt> <dd>5.5</dd> </dl> </section> </li> <li> <section class="detail" id="polymorphicDomainObjectContainer(java.lang.Class)"> <h3>polymorphicDomainObjectContainer</h3> <div class="member-signature"><span class="type-parameters"><T></span> <span class="return-type"><a href="../ExtensiblePolymorphicDomainObjectContainer.html" title="interface in org.gradle.api">ExtensiblePolymorphicDomainObjectContainer</a><T></span> <span class="element-name">polymorphicDomainObjectContainer</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType)</span></div> <div class="block"><p>Creates a new <a href="../ExtensiblePolymorphicDomainObjectContainer.html" title="interface in org.gradle.api"><code>ExtensiblePolymorphicDomainObjectContainer</code></a> for managing named objects of the specified type.</p> <p>The returned container will not have any factories or bindings registered.</p></div> <dl class="notes"> <dt>Type Parameters:</dt> <dd><code>T</code> - The type of objects for the container to contain.</dd> <dt>Parameters:</dt> <dd><code>elementType</code> - The type of objects for the container to contain.</dd> <dt>Returns:</dt> <dd>The container.</dd> <dt>Since:</dt> <dd>6.1</dd> </dl> </section> </li> <li> <section class="detail" id="domainObjectSet(java.lang.Class)"> <h3>domainObjectSet</h3> <div class="member-signature"><span class="type-parameters"><T></span> <span class="return-type"><a href="../DomainObjectSet.html" title="interface in org.gradle.api">DomainObjectSet</a><T></span> <span class="element-name">domainObjectSet</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType)</span></div> <div class="block">Creates a new <a href="../DomainObjectSet.html" title="interface in org.gradle.api"><code>DomainObjectSet</code></a> for managing objects of the specified type.</div> <dl class="notes"> <dt>Type Parameters:</dt> <dd><code>T</code> - The type of objects for the domain object set to contain.</dd> <dt>Parameters:</dt> <dd><code>elementType</code> - The type of objects for the domain object set to contain.</dd> <dt>Returns:</dt> <dd>The domain object set. Never returns null.</dd> <dt>Since:</dt> <dd>5.5</dd> </dl> </section> </li> <li> <section class="detail" id="namedDomainObjectSet(java.lang.Class)"> <h3>namedDomainObjectSet</h3> <div class="member-signature"><span class="type-parameters"><T></span> <span class="return-type"><a href="../NamedDomainObjectSet.html" title="interface in org.gradle.api">NamedDomainObjectSet</a><T></span> <span class="element-name">namedDomainObjectSet</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType)</span></div> <div class="block">Creates a new <a href="../NamedDomainObjectSet.html" title="interface in org.gradle.api"><code>NamedDomainObjectSet</code></a> for managing named objects of the specified type. <p>All objects <b>MUST</b> expose their name as a bean property called "name". The name must be constant for the life of the object.</p></div> <dl class="notes"> <dt>Type Parameters:</dt> <dd><code>T</code> - The type of objects for the domain object set to contain.</dd> <dt>Parameters:</dt> <dd><code>elementType</code> - The type of objects for the domain object set to contain.</dd> <dt>Returns:</dt> <dd>The domain object set.</dd> <dt>Since:</dt> <dd>6.1</dd> </dl> </section> </li> <li> <section class="detail" id="namedDomainObjectList(java.lang.Class)"> <h3>namedDomainObjectList</h3> <div class="member-signature"><span class="type-parameters"><T></span> <span class="return-type"><a href="../NamedDomainObjectList.html" title="interface in org.gradle.api">NamedDomainObjectList</a><T></span> <span class="element-name">namedDomainObjectList</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType)</span></div> <div class="block">Creates a new <a href="../NamedDomainObjectList.html" title="interface in org.gradle.api"><code>NamedDomainObjectList</code></a> for managing named objects of the specified type. <p>All objects <b>MUST</b> expose their name as a bean property called "name". The name must be constant for the life of the object.</p></div> <dl class="notes"> <dt>Type Parameters:</dt> <dd><code>T</code> - The type of objects for the domain object set to contain.</dd> <dt>Parameters:</dt> <dd><code>elementType</code> - The type of objects for the domain object set to contain.</dd> <dt>Returns:</dt> <dd>The domain object list.</dd> <dt>Since:</dt> <dd>6.1</dd> </dl> </section> </li> <li> <section class="detail" id="property(java.lang.Class)"> <h3>property</h3> <div class="member-signature"><span class="type-parameters"><T></span> <span class="return-type"><a href="../provider/Property.html" title="interface in org.gradle.api.provider">Property</a><T></span> <span class="element-name">property</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> valueType)</span></div> <div class="block">Creates a <a href="../provider/Property.html" title="interface in org.gradle.api.provider"><code>Property</code></a> implementation to hold values of the given type. The property has no initial value. <p>For certain types, there are more specialized property factory methods available:</p> <ul> <li>For <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link"><code>List</code></a> properties, you should use <a href="#listProperty(java.lang.Class)"><code>listProperty(Class)</code></a>.</li> <li>For <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link"><code>Set</code></a> properties, you should use <a href="#setProperty(java.lang.Class)"><code>setProperty(Class)</code></a>.</li> <li>For <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link"><code>Map</code></a> properties, you should use <a href="#mapProperty(java.lang.Class,java.lang.Class)"><code>mapProperty(Class, Class)</code></a>.</li> <li>For <a href="../file/Directory.html" title="interface in org.gradle.api.file"><code>Directory</code></a> properties, you should use <a href="#directoryProperty()"><code>directoryProperty()</code></a>.</li> <li>For <a href="../file/RegularFile.html" title="interface in org.gradle.api.file"><code>RegularFile</code></a> properties, you should use <a href="#fileProperty()"><code>fileProperty()</code></a>.</li> </ul></div> <dl class="notes"> <dt>Parameters:</dt> <dd><code>valueType</code> - The type of the property.</dd> <dt>Returns:</dt> <dd>The property. Never returns null.</dd> <dt>Since:</dt> <dd>4.3</dd> </dl> </section> </li> <li> <section class="detail" id="listProperty(java.lang.Class)"> <h3>listProperty</h3> <div class="member-signature"><span class="type-parameters"><T></span> <span class="return-type"><a href="../provider/ListProperty.html" title="interface in org.gradle.api.provider">ListProperty</a><T></span> <span class="element-name">listProperty</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType)</span></div> <div class="block">Creates a <a href="../provider/ListProperty.html" title="interface in org.gradle.api.provider"><code>ListProperty</code></a> implementation to hold a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link"><code>List</code></a> of the given element type <code>T</code>. The property has an empty list as its initial value. <p>The implementation will return immutable <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link"><code>List</code></a> values from its query methods.</p></div> <dl class="notes"> <dt>Type Parameters:</dt> <dd><code>T</code> - The type of element.</dd> <dt>Parameters:</dt> <dd><code>elementType</code> - The type of element.</dd> <dt>Returns:</dt> <dd>The property. Never returns null.</dd> <dt>Since:</dt> <dd>4.3</dd> </dl> </section> </li> <li> <section class="detail" id="setProperty(java.lang.Class)"> <h3>setProperty</h3> <div class="member-signature"><span class="type-parameters"><T></span> <span class="return-type"><a href="../provider/SetProperty.html" title="interface in org.gradle.api.provider">SetProperty</a><T></span> <span class="element-name">setProperty</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><T> elementType)</span></div> <div class="block">Creates a <a href="../provider/SetProperty.html" title="interface in org.gradle.api.provider"><code>SetProperty</code></a> implementation to hold a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link"><code>Set</code></a> of the given element type <code>T</code>. The property has an empty set as its initial value. <p>The implementation will return immutable <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link"><code>Set</code></a> values from its query methods.</p></div> <dl class="notes"> <dt>Type Parameters:</dt> <dd><code>T</code> - The type of element.</dd> <dt>Parameters:</dt> <dd><code>elementType</code> - The type of element.</dd> <dt>Returns:</dt> <dd>The property. Never returns null.</dd> <dt>Since:</dt> <dd>4.5</dd> </dl> </section> </li> <li> <section class="detail" id="mapProperty(java.lang.Class,java.lang.Class)"> <h3>mapProperty</h3> <div class="member-signature"><span class="type-parameters"><K,<wbr> V></span> <span class="return-type"><a href="../provider/MapProperty.html" title="interface in org.gradle.api.provider">MapProperty</a><K,<wbr>V></span> <span class="element-name">mapProperty</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><K> keyType, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><V> valueType)</span></div> <div class="block">Creates a <a href="../provider/MapProperty.html" title="interface in org.gradle.api.provider"><code>MapProperty</code></a> implementation to hold a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link"><code>Map</code></a> of the given key type <code>K</code> and value type <code>V</code>. The property has an empty map as its initial value. <p>The implementation will return immutable <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html" title="class or interface in java.util" class="external-link"><code>Map</code></a> values from its query methods.</p></div> <dl class="notes"> <dt>Type Parameters:</dt> <dd><code>K</code> - the type of key.</dd> <dd><code>V</code> - the type of value.</dd> <dt>Parameters:</dt> <dd><code>keyType</code> - the type of key.</dd> <dd><code>valueType</code> - the type of value.</dd> <dt>Returns:</dt> <dd>the property. Never returns null.</dd> <dt>Since:</dt> <dd>5.1</dd> </dl> </section> </li> <li> <section class="detail" id="directoryProperty()"> <h3>directoryProperty</h3> <div class="member-signature"><span class="return-type"><a href="../file/DirectoryProperty.html" title="interface in org.gradle.api.file">DirectoryProperty</a></span> <span class="element-name">directoryProperty</span>()</div> <div class="block">Creates a new <a href="../file/DirectoryProperty.html" title="interface in org.gradle.api.file"><code>DirectoryProperty</code></a> that uses the project directory to resolve relative paths, if required. The property has no initial value.</div> <dl class="notes"> <dt>Since:</dt> <dd>5.0</dd> </dl> </section> </li> <li> <section class="detail" id="fileProperty()"> <h3>fileProperty</h3> <div class="member-signature"><span class="return-type"><a href="../file/RegularFileProperty.html" title="interface in org.gradle.api.file">RegularFileProperty</a></span> <span class="element-name">fileProperty</span>()</div> <div class="block">Creates a new <a href="../file/RegularFileProperty.html" title="interface in org.gradle.api.file"><code>RegularFileProperty</code></a> that uses the project directory to resolve relative paths, if required. The property has no initial value.</div> <dl class="notes"> <dt>Since:</dt> <dd>5.0</dd> </dl> </section> </li> <li> <section class="detail" id="dependencyCollector()"> <h3>dependencyCollector</h3> <div class="member-signature"><span class="annotations"><a href="../Incubating.html" title="annotation in org.gradle.api">@Incubating</a> </span><span class="return-type"><a href="../artifacts/dsl/DependencyCollector.html" title="interface in org.gradle.api.artifacts.dsl">DependencyCollector</a></span> <span class="element-name">dependencyCollector</span>()</div> <div class="block">Creates a new <a href="../artifacts/dsl/DependencyCollector.html" title="interface in org.gradle.api.artifacts.dsl"><code>DependencyCollector</code></a> used for declaring dependencies. <strong>Avoid this method if possible and use managed object instantiation instead.</strong></div> <dl class="notes"> <dt>Since:</dt> <dd>8.6</dd> </dl> </section> </li> </ul> </section> </li> </ul> </section> <!-- ========= END OF CLASS DATA ========= --> </main> </div> </div> </body> </html>