<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_181) on Fri Sep 14 11:39:18 BST 2018 -->
<title>Overview (Java Common Project API)</title>
<meta name="date" content="2018-09-14">
<link rel="stylesheet" type="text/css" href="javadoc.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Overview (Java Common Project API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li class="navBarCell1Rev">Overview</li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-files/index-1.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">org.netbeans.modules.java.api.common/0 1.125.1 </div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?overview-summary.html" target="_top">Frames</a></li>
<li><a href="overview-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 class="title">Java Common Project API<br/><span style='font-style:normal; font-size:medium; font-weight:normal; background-color:#e0a0a0;'><a href='http://wiki.netbeans.org/API_Stability#Friend' target='_blank'>Friend, Private or Third Party</a></span></h1>
</div>
<div class="header">
<div class="subTitle">
<div class="block">No answer</div>
</div>
<p>See: <a href="#overview.description">Description</a></p>
</div>
<div class="contentContainer">
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Java Common Project API table, listing packages, and an explanation">
<caption><span>Java Common Project API</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="org/netbeans/modules/java/api/common/package-summary.html">org.netbeans.modules.java.api.common</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="org/netbeans/modules/java/api/common/ant/package-summary.html">org.netbeans.modules.java.api.common.ant</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="org/netbeans/modules/java/api/common/applet/package-summary.html">org.netbeans.modules.java.api.common.applet</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="org/netbeans/modules/java/api/common/classpath/package-summary.html">org.netbeans.modules.java.api.common.classpath</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="org/netbeans/modules/java/api/common/problems/package-summary.html">org.netbeans.modules.java.api.common.problems</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="org/netbeans/modules/java/api/common/project/package-summary.html">org.netbeans.modules.java.api.common.project</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="org/netbeans/modules/java/api/common/project/ui/package-summary.html">org.netbeans.modules.java.api.common.project.ui</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="org/netbeans/modules/java/api/common/project/ui/customizer/package-summary.html">org.netbeans.modules.java.api.common.project.ui.customizer</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="org/netbeans/modules/java/api/common/project/ui/wizards/package-summary.html">org.netbeans.modules.java.api.common.project.ui.wizards</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="org/netbeans/modules/java/api/common/queries/package-summary.html">org.netbeans.modules.java.api.common.queries</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="org/netbeans/modules/java/api/common/ui/package-summary.html">org.netbeans.modules.java.api.common.ui</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="org/netbeans/modules/java/api/common/util/package-summary.html">org.netbeans.modules.java.api.common.util</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<div class="contentContainer"><a name="overview.description">
<!--   -->
</a>
<div class="block"><p>No answer</p>
<h3>What is New (see <a href="apichanges.html">all changes</a>)?</h3>
<ul>

         
<!--Search for dates that are later or equal to 1997-09-01 in
          .-->
<!--Checking date 2017-3-7 with count of newer 0--><!--year ok-->
<li>Mar 7 '17 <a href="apichanges.html#ModuleGroupInfo">Added factory method and interface to determine relationships between SourceGroups and modules</a>
<p>
                
<p>
                    
<code>MultiModuleGroupQuery</code> query interface allows to find out which module owns
                    a particular <code>SourceGroup</code>. Project implementors can create an instance
                    using new query method on <code>QuerySupport</code>.
                </p>
            
</p>
</li>
<!--Checking date 2017-2-24 with count of newer 1--><!--year ok-->
<li>Feb 24 '17 <a href="apichanges.html#modules.constants">Added module-related properties to <code>ProjectProperties</code></a>
<p>
                
<p>
                    Added <code>BUILD_TEST_MODULES_DIR</code> to denote build location for tests in modular projects
                </p>
            
</p>
</li>
<!--Checking date 2016-8-18 with count of newer 2--><!--year ok-->
<li>Aug 18 '16 <a href="apichanges.html#platform-chooser-per-project-platform">Platform combobox handles per project platforms</a>
<p>
                
<p>
                    Platform combobox created by <code>PlatformUiSupport</code> handles
                    per project <code>JavaPlatform</code>s.
                </p>
            
</p>
</li>
<!--Checking date 2016-8-17 with count of newer 3--><!--year ok-->
<li>Aug 17 '16 <a href="apichanges.html#bootcp-per-project-platform">Boot ClassPath uses JavaPlatform defined in project</a>
<p>
                
<p>
                    Boot ClassPath created by <code>ClassPathProviderImpl</code> uses a <code>JavaPlatform</code>
                    defined in project.
                </p>
            
</p>
</li>
<!--Checking date 2016-5-19 with count of newer 4--><!--year ok-->
<li>May 19 '16 <a href="apichanges.html#ModuleInfoAccessibilityQuery">Added a factory method into <code>QuerySupport</code>to create a module-info based <code>AccessibilityQueryImplementation2</code> instance</a>
<p>
                
<p>
                    Added a factory method into <code>QuerySupport</code>to create a module-info based <code>AccessibilityQueryImplementation2</code> instance.
                </p>
            
</p>
</li>
<!--Checking date 2016-3-24 with count of newer 5--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2016-3-16 with count of newer 6--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2016-3-15 with count of newer 7--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2015-4-28 with count of newer 8--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2014-4-16 with count of newer 9--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-11-13 with count of newer 10--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-11-4 with count of newer 11--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-11-4 with count of newer 11--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-10-29 with count of newer 13--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-10-23 with count of newer 14--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-10-22 with count of newer 15--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-10-17 with count of newer 16--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-10-15 with count of newer 17--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-10-9 with count of newer 18--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-10-9 with count of newer 18--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-9-24 with count of newer 20--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-9-18 with count of newer 21--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-5-13 with count of newer 22--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-4-30 with count of newer 23--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-4-10 with count of newer 24--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2013-3-4 with count of newer 25--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2012-9-5 with count of newer 26--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2012-5-31 with count of newer 27--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2012-5-20 with count of newer 28--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2011-4-25 with count of newer 29--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2010-7-8 with count of newer 30--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2010-6-3 with count of newer 31--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2010-6-1 with count of newer 32--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2010-5-18 with count of newer 33--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2010-1-26 with count of newer 34--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2009-10-7 with count of newer 35--><!--Skipped as the amount of changes is too big-->
<!--Checking date 2008-10-28 with count of newer 36--><!--Skipped as the amount of changes is too big-->
</ul>
<h3>Use Cases</h3>
<answer id="arch-usecases">No answer</answer>
<h3>Exported Interfaces</h3>
          
                This table lists all of the module exported APIs 
                with 
                defined stability classifications. It is generated
                based on answers to questions about the architecture 
                of the module. <a href="architecture-summary.html">Read them all</a>...

                
                <a name="group-java">
<h5>Group of java interfaces</h5>
</a>
<table cellpadding="1" cellspacing="0" border="0" class="tablebg" width="100%">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr class="tablersh">
<td align="CENTER" width="25%"><span class="titlectable">Interface Name</span></td><td align="CENTER" width="10%"><span class="titlectable">In/Out</span></td><td align="CENTER" width="10%"><span class="titlectable">Stability</span></td><td align="CENTER"><span class="titlectable">Specified in What Document?</span></td>
</tr>
</table>
</td>
</tr>
</table>
<p></p>
<h3>Implementation Details</h3>
<h5>What do other modules need to do to declare a dependency on this one, in addition to or instead of a plain module dependency?</h5>No answer<p>
                Read more about the implementation in the <a href="architecture-summary.html">answers to 
                architecture questions</a>.
            </p></div>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li class="navBarCell1Rev">Overview</li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-files/index-1.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">org.netbeans.modules.java.api.common/0 1.125.1 </div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?overview-summary.html" target="_top">Frames</a></li>
<li><a href="overview-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><span class="footnote">Built on September 14 2018.&nbsp;&nbsp;|&nbsp;&nbsp;         Copyright &#169; 2017-2018 Apache Software Foundation. All Rights Reserved.</span></small></p>
</body>
</html>
