<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Java Common Project API - NetBeans Architecture Questions</title>
<link rel="stylesheet" type="text/css" href="prose.css">
</head>
<body>
<p class="overviewlink">
<a href="overview-summary.html">Overview</a>
</p>
<h1>NetBeans Architecture Answers for Java Common Project API module</h1>
<ul>
<li>
<b>Author:</b> nobody@netbeans.org</li>
<li>
<b>Answers as of:</b> 25-Jul-2018</li>
<li>
<b>Answers for questions version:</b> 1.23</li>
<li>
<b>Latest available version of questions:</b> 1.29</li>
</ul>
<strong>
                        WARNING: answering questions version 1.23
                        rather than the current 1.29.
                    </strong>
<hr>
<h2>Interfaces table</h2>
<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>
<tr class="tabler">
<td>AntLogger</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Stable">Stable</a></td><td><a name="java-AntLogger">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    3.73
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>CommonAnnotationsAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Stable">Stable</a></td><td><a name="java-CommonAnnotationsAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.6
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>JavaSupportAPIs</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-JavaSupportAPIs">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.66
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>ClassPathAPIs</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-ClassPathAPIs">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.54
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>Progress</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-Progress">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.40
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>ProgressSwing</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-ProgressSwing">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.40
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>DataSystemsAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-DataSystemsAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.9
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>org.netbeans.libs.antlr3.runtime</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Private">Private</a></td><td><a name="java-org.netbeans.libs.antlr3.runtime">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.2
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>org.netbeans.libs.javacapi</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Private">Private</a></td><td><a name="java-org.netbeans.libs.javacapi">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    8.19
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>org.netbeans.api.autoupdate</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-org.netbeans.api.autoupdate">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.53
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>EditorUtilitiesAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Devel">Under Development</a></td><td><a name="java-EditorUtilitiesAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.64
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>ExternalExecutionAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Stable">Stable</a></td><td><a name="java-ExternalExecutionAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.30
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>JavaPlatformAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-JavaPlatformAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.43
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>JavaPlatformUI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-JavaPlatformUI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.36
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>org.netbeans.modules.java.preprocessorbridge</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Private">Private</a></td><td><a name="java-org.netbeans.modules.java.preprocessorbridge">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.49
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>JavaProjectAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-JavaProjectAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.72
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>JavaProjectUI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-JavaProjectUI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.62
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>JavaSourceAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-JavaSourceAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    2.32
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>java.sourceui</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-java.sourceui">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.1
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>AntProjectAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-AntProjectAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.62
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>AntProjectUI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-AntProjectUI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.62
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>ProjectLibrariesAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-ProjectLibrariesAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.49
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>project_libs_ui</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-project_libs_ui">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.48
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>ProjectAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-ProjectAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.43
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>ProjectUIAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-ProjectUIAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.78
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>BaseProjectUIAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-BaseProjectUIAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.78
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>GeneralQueriesAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-GeneralQueriesAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.11
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>ActionsAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-ActionsAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    6.2
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>org.openide.awt</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-org.openide.awt">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    6.12
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>DialogsAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-DialogsAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    7.6
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>ExecutionAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-ExecutionAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    9.0
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>FilesystemsAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-FilesystemsAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    9.0
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>org.openide.filesystems.nb</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Private">Private</a></td><td><a name="java-org.openide.filesystems.nb">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    9.0
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>LoadersAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-LoadersAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    7.61
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>ModulesAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-ModulesAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    7.4
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>NodesAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-NodesAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    7.3
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>EditorAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-EditorAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    6.67
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>WeakListener.setAccessible</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Devel">Under Development</a></td><td><a name="java-WeakListener.setAccessible">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    9.3
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>LookupAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-LookupAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    8.0
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>UtilitiesAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-UtilitiesAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    9.3
                    is required.
                <p></p>
</a></td>
</tr>
<tr class="tabler">
<td>WindowSystemAPI</td><td>Imported</td><td><a href="http://wiki.netbeans.org/API_Stability#Official">Official</a></td><td><a name="java-WindowSystemAPI">
<p></p>
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    6.2
                    is required.
                <p></p>
</a></td>
</tr>
</table>
</td>
</tr>
</table>
<p></p>
<!--

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

-->
<api-answers author="nobody@netbeans.org" module="Java Common Project API" question-version="1.23">
 
<!--

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

-->

<!--
    Author     : Jaroslav Tulach, Jesse Glick
    Description: Questions that should be answered in order to make better API

    No PUBLIC or SYSTEM IDs defined currently.
-->

<!--
                        *** ATTENTION EDITORS ***
Please increment the 'version' field of <api-questions> whenever you make a
semantic change: adding a new question or significantly changing the meaning of
an old one. Changing this field ensures that arch pages answering the old version
print a warning during Javadoc generation. If you only change hints or make small
edits in the text of a question, you need not change the version number.

An automated process runs openide/www/tutorial/build.xml#question periodically
and commits any changes to openide/www/tutorial/questions.html.
-->

<api-questions version="1.29" xml:base="file:/home/nsigma/Code/NetBeans/incubator-netbeans/nbbuild/antsrc/org/netbeans/nbbuild/Arch-api-questions.xml">
    
<hr>
<h2>General Information</h2>
<ul>
<p></p>
<font color="gray"><b><a name="answer-arch-what">Question (arch-what)</a>:</b><em>
            What is this project good for?
            
        </em></font>
<p></p>
<b>Answer:</b>
    <strong>This module has not provided an architectural description, sorry.</strong>

<p></p>
<font color="gray"><b><a name="answer-arch-overall">Question (arch-overall)</a>:</b><em>
            Describe the overall architecture. 
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-arch-usecases">Question (arch-usecases)</a>:</b><em>
            
        
            Describe the main <a href="http://wiki.netbeans.org/API_Design#The_Importance_of_Being_Use_Case_Oriented" shape="rect">
            use cases</a> of the new API. Who will use it under
            what circumstances? What kind of code would typically need to be written
            to use the module?
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-arch-time">Question (arch-time)</a>:</b><em>
            What are the time estimates of the work?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-arch-quality">Question (arch-quality)</a>:</b><em>
            How will the <a href="http://www.netbeans.org/community/guidelines/q-evangelism.html" shape="rect">quality</a>
            of your code be tested and 
            how are future regressions going to be prevented?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-arch-where">Question (arch-where)</a>:</b><em>
            Where one can find sources for your module?
            
        </em></font>
<p></p>
<b>WARNING:</b> Question with id="<i>arch-where</i>" has not been answered!</ul>
    
<hr>
<h2>Project and platform dependencies</h2>
<ul>
<p></p>
<font color="gray"><b><a name="answer-dep-nb">Question (dep-nb)</a>:</b><em>
            What other NetBeans projects and modules does this one depend on?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p>The default answer to this question is:<!--If you do not want default answer to be generated you can use <defaultanswer generate='none' /> here--><br>
<p>
<p>
            These modules are required in project.xml:
            <!--<li><api type='import' group='java' category='stable' name='AntLogger'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                3.73
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='stable' name='CommonAnnotationsAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.6
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='JavaSupportAPIs'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.66
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='ClassPathAPIs'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.54
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='Progress'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.40
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='ProgressSwing'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.40
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='DataSystemsAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.9
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='private' name='org.netbeans.libs.antlr3.runtime'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.2
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='private' name='org.netbeans.libs.javacapi'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                8.19
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='org.netbeans.api.autoupdate'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.53
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='devel' name='EditorUtilitiesAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.64
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='stable' name='ExternalExecutionAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.30
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='JavaPlatformAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.43
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='JavaPlatformUI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.36
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='private' name='org.netbeans.modules.java.preprocessorbridge'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.49
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='JavaProjectAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.72
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='JavaProjectUI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.62
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='JavaSourceAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                2.32
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='java.sourceui'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.1
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='AntProjectAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.62
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='AntProjectUI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.62
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='ProjectLibrariesAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.49
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='project_libs_ui'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.48
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='ProjectAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.43
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='ProjectUIAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.78
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='BaseProjectUIAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.78
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='GeneralQueriesAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                1.11
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='ActionsAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                6.2
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='org.openide.awt'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                6.12
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='DialogsAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                7.6
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='ExecutionAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                9.0
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='FilesystemsAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                9.0
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='private' name='org.openide.filesystems.nb'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                9.0
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='LoadersAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                7.61
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='ModulesAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                7.4
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='NodesAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                7.3
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='EditorAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                6.67
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='devel' name='WeakListener.setAccessible'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                9.3
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='LookupAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                8.0
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='UtilitiesAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                9.3
                is required.
            </api>
</li>            
--><!--<li><api type='import' group='java' category='official' name='WindowSystemAPI'>
            The module is needed for compilation. 
        
            The module is used during runtime. 
            
                Specification version 
                6.2
                is required.
            </api>
</li>            
--><ul>
<li>
<a href="#java-AntLogger">AntLogger</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    3.73
                    is required.
                </li>
<li>
<a href="#java-CommonAnnotationsAPI">CommonAnnotationsAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.6
                    is required.
                </li>
<li>
<a href="#java-JavaSupportAPIs">JavaSupportAPIs</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.66
                    is required.
                </li>
<li>
<a href="#java-ClassPathAPIs">ClassPathAPIs</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.54
                    is required.
                </li>
<li>
<a href="#java-Progress">Progress</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.40
                    is required.
                </li>
<li>
<a href="#java-ProgressSwing">ProgressSwing</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.40
                    is required.
                </li>
<li>
<a href="#java-DataSystemsAPI">DataSystemsAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.9
                    is required.
                </li>
<li>
<a href="#java-org.netbeans.libs.antlr3.runtime">org.netbeans.libs.antlr3.runtime</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.2
                    is required.
                </li>
<li>
<a href="#java-org.netbeans.libs.javacapi">org.netbeans.libs.javacapi</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    8.19
                    is required.
                </li>
<li>
<a href="#java-org.netbeans.api.autoupdate">org.netbeans.api.autoupdate</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.53
                    is required.
                </li>
<li>
<a href="#java-EditorUtilitiesAPI">EditorUtilitiesAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.64
                    is required.
                </li>
<li>
<a href="#java-ExternalExecutionAPI">ExternalExecutionAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.30
                    is required.
                </li>
<li>
<a href="#java-JavaPlatformAPI">JavaPlatformAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.43
                    is required.
                </li>
<li>
<a href="#java-JavaPlatformUI">JavaPlatformUI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.36
                    is required.
                </li>
<li>
<a href="#java-org.netbeans.modules.java.preprocessorbridge">org.netbeans.modules.java.preprocessorbridge</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.49
                    is required.
                </li>
<li>
<a href="#java-JavaProjectAPI">JavaProjectAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.72
                    is required.
                </li>
<li>
<a href="#java-JavaProjectUI">JavaProjectUI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.62
                    is required.
                </li>
<li>
<a href="#java-JavaSourceAPI">JavaSourceAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    2.32
                    is required.
                </li>
<li>
<a href="#java-java.sourceui">java.sourceui</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.1
                    is required.
                </li>
<li>
<a href="#java-AntProjectAPI">AntProjectAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.62
                    is required.
                </li>
<li>
<a href="#java-AntProjectUI">AntProjectUI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.62
                    is required.
                </li>
<li>
<a href="#java-ProjectLibrariesAPI">ProjectLibrariesAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.49
                    is required.
                </li>
<li>
<a href="#java-project_libs_ui">project_libs_ui</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.48
                    is required.
                </li>
<li>
<a href="#java-ProjectAPI">ProjectAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.43
                    is required.
                </li>
<li>
<a href="#java-ProjectUIAPI">ProjectUIAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.78
                    is required.
                </li>
<li>
<a href="#java-BaseProjectUIAPI">BaseProjectUIAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.78
                    is required.
                </li>
<li>
<a href="#java-GeneralQueriesAPI">GeneralQueriesAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    1.11
                    is required.
                </li>
<li>
<a href="#java-ActionsAPI">ActionsAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    6.2
                    is required.
                </li>
<li>
<a href="#java-org.openide.awt">org.openide.awt</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    6.12
                    is required.
                </li>
<li>
<a href="#java-DialogsAPI">DialogsAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    7.6
                    is required.
                </li>
<li>
<a href="#java-ExecutionAPI">ExecutionAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    9.0
                    is required.
                </li>
<li>
<a href="#java-FilesystemsAPI">FilesystemsAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    9.0
                    is required.
                </li>
<li>
<a href="#java-org.openide.filesystems.nb">org.openide.filesystems.nb</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    9.0
                    is required.
                </li>
<li>
<a href="#java-LoadersAPI">LoadersAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    7.61
                    is required.
                </li>
<li>
<a href="#java-ModulesAPI">ModulesAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    7.4
                    is required.
                </li>
<li>
<a href="#java-NodesAPI">NodesAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    7.3
                    is required.
                </li>
<li>
<a href="#java-EditorAPI">EditorAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    6.67
                    is required.
                </li>
<li>
<a href="#java-WeakListener.setAccessible">WeakListener.setAccessible</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    9.3
                    is required.
                </li>
<li>
<a href="#java-LookupAPI">LookupAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    8.0
                    is required.
                </li>
<li>
<a href="#java-UtilitiesAPI">UtilitiesAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    9.3
                    is required.
                </li>
<li>
<a href="#java-WindowSystemAPI">WindowSystemAPI</a>
            - 
                The module is needed for compilation. 
            
                The module is used during runtime. 
                
                    Specification version 
                    6.2
                    is required.
                </li>
</ul>
</p>
</p>
</p>
<p></p>
<font color="gray"><b><a name="answer-dep-non-nb">Question (dep-non-nb)</a>:</b><em>
            What other projects outside NetBeans does this one depend on?
            
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-dep-platform">Question (dep-platform)</a>:</b><em>
            On which platforms does your module run? Does it run in the same
            way on each?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-dep-jre">Question (dep-jre)</a>:</b><em>
            Which version of JRE do you need (1.2, 1.3, 1.4, etc.)?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-dep-jrejdk">Question (dep-jrejdk)</a>:</b><em>
            Do you require the JDK or is the JRE enough?
        </em></font>
<p></p>
<b>Answer:</b>No answer</ul>

    
<hr>
<h2>Deployment</h2>
<ul>
<p></p>
<font color="gray"><b><a name="answer-deploy-jar">Question (deploy-jar)</a>:</b><em>
            Do you deploy just module JAR file(s) or other files as well?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-deploy-nbm">Question (deploy-nbm)</a>:</b><em>
            Can you deploy an NBM via the Update Center?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-deploy-shared">Question (deploy-shared)</a>:</b><em>
            Do you need to be installed in the shared location only, or in the user directory only,
            or can your module be installed anywhere?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-deploy-packages">Question (deploy-packages)</a>:</b><em>
            Are packages of your module made inaccessible by not declaring them
            public?
            
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-deploy-dependencies">Question (deploy-dependencies)</a>:</b><em>
            What do other modules need to do to declare a dependency on this one,
            in addition to or instead of the normal module dependency declaration
            (e.g. tokens to require)?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer</ul>
    
    
<hr>
<h2>Compatibility with environment</h2>
<ul>
<p></p>
<font color="gray"><b><a name="answer-compat-i18n">Question (compat-i18n)</a>:</b><em>
            Is your module correctly internationalized?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-compat-standards">Question (compat-standards)</a>:</b><em>
            Does the module implement or define any standards? Is the 
            implementation exact or does it deviate somehow?
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-compat-version">Question (compat-version)</a>:</b><em>
            Can your module coexist with earlier and future
            versions of itself? Can you correctly read all old settings? Will future
            versions be able to read your current settings? Can you read
            or politely ignore settings stored by a future version?
            
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-compat-deprecation">Question (compat-deprecation)</a>:</b><em>
            How the introduction of your project influences functionality
            provided by previous version of the product?
            
        </em></font>
<p></p>
<b>WARNING:</b> Question with id="<i>compat-deprecation</i>" has not been answered!</ul>
    
    
<hr>
<h2>Access to resources</h2>
<ul>
<p></p>
<font color="gray"><b><a name="answer-resources-file">Question (resources-file)</a>:</b><em>
            Does your module use <code>java.io.File</code> directly?
            
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-resources-layer">Question (resources-layer)</a>:</b><em>
            Does your module provide own layer? Does it create any files or
            folders in it? What it is trying to communicate by that and with which 
            components?
            
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-resources-read">Question (resources-read)</a>:</b><em>
            Does your module read any resources from layers? For what purpose?
            
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-resources-mask">Question (resources-mask)</a>:</b><em>
            Does your module mask/hide/override any resources provided by other modules in
            their layers?
            
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-resources-preferences">Question (resources-preferences)</a>:</b><em>
            Does your module uses preferences via Preferences API? Does your module use NbPreferences or
            or regular JDK Preferences ? Does it read, write or both ? 
            Does it share preferences with other modules ? If so, then why ?
            
        </em></font>
<p></p>
<b>WARNING:</b> Question with id="<i>resources-preferences</i>" has not been answered!</ul>

    
    
<hr>
<h2>Lookup of components</h2>
<ul>
<p></p>
<font color="gray"><b><a name="answer-lookup-lookup">Question (lookup-lookup)</a>:</b><em>
            Does your module use <code>org.openide.util.Lookup</code>
            or any similar technology to find any components to communicate with? Which ones?
            
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-lookup-register">Question (lookup-register)</a>:</b><em>
            Do you register anything into lookup for other code to find?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-lookup-remove">Question (lookup-remove)</a>:</b><em>
            Do you remove entries of other modules from lookup?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer</ul>

    
    <!-- classification of interfaces -->
    
    <!-- package names -->
    
    
    
<hr>
<h2>Execution Environment</h2>
<ul>
<p></p>
<font color="gray"><b><a name="answer-exec-property">Question (exec-property)</a>:</b><em>
            Is execution of your code influenced by any environment or
            Java system (<code>System.getProperty</code>) property?
            On a similar note, is there something interesting that you
            pass to <code>java.util.logging.Logger</code>? Or do you observe
            what others log?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-exec-component">Question (exec-component)</a>:</b><em>
            Is execution of your code influenced by any (string) property
            of any of your components?
            
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-exec-ant-tasks">Question (exec-ant-tasks)</a>:</b><em>
            Do you define or register any ant tasks that other can use?
            
            
        </em></font>
<p></p>
<b>WARNING:</b> Question with id="<i>exec-ant-tasks</i>" has not been answered!<p></p>
<font color="gray"><b><a name="answer-exec-classloader">Question (exec-classloader)</a>:</b><em>
            Does your code create its own class loader(s)?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-exec-reflection">Question (exec-reflection)</a>:</b><em>
            Does your code use Java Reflection to execute other code?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-exec-privateaccess">Question (exec-privateaccess)</a>:</b><em>
            Are you aware of any other parts of the system calling some of 
            your methods by reflection?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-exec-process">Question (exec-process)</a>:</b><em>
            Do you execute an external process from your module? How do you ensure
            that the result is the same on different platforms? Do you parse output?
            Do you depend on result code?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-exec-introspection">Question (exec-introspection)</a>:</b><em>
            Does your module use any kind of runtime type information (<code>instanceof</code>,
            work with <code>java.lang.Class</code>, etc.)?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-exec-threading">Question (exec-threading)</a>:</b><em>
            What threading models, if any, does your module adhere to? How the
            project behaves with respect to threading?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-security-policy">Question (security-policy)</a>:</b><em>
            Does your functionality require modifications to the standard policy file?
            
        </em></font>
<p></p>
<b>WARNING:</b> Question with id="<i>security-policy</i>" has not been answered!<p></p>
<font color="gray"><b><a name="answer-security-grant">Question (security-grant)</a>:</b><em>
            Does your code grant additional rights to some other code?
            
        </em></font>
<p></p>
<b>WARNING:</b> Question with id="<i>security-grant</i>" has not been answered!</ul>
    
    
<hr>
<h2>Format of files and protocols</h2>
<ul>
<p></p>
<font color="gray"><b><a name="answer-format-types">Question (format-types)</a>:</b><em>
            Which protocols and file formats (if any) does your module read or write on disk,
            or transmit or receive over the network? Do you generate an ant build script?
            Can it be edited and modified? 
            
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-format-dnd">Question (format-dnd)</a>:</b><em>
            Which protocols (if any) does your code understand during Drag &amp; Drop?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-format-clipboard">Question (format-clipboard)</a>:</b><em>
            Which data flavors (if any) does your code read from or insert to
            the clipboard (by access to clipboard on means calling methods on <code>java.awt.datatransfer.Transferable</code>?
            
            
        </em></font>
<p></p>
<b>Answer:</b>No answer</ul>

    
    
<hr>
<h2>Performance and Scalability</h2>
<ul>
<p></p>
<font color="gray"><b><a name="answer-perf-startup">Question (perf-startup)</a>:</b><em>
            Does your module run any code on startup?
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-perf-exit">Question (perf-exit)</a>:</b><em>
            Does your module run any code on exit?
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-perf-scale">Question (perf-scale)</a>:</b><em>
            Which external criteria influence the performance of your
            program (size of file in editor, number of files in menu, 
            in source directory, etc.) and how well your code scales?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-perf-limit">Question (perf-limit)</a>:</b><em>
            Are there any hard-coded or practical limits in the number or size of
            elements your code can handle?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-perf-mem">Question (perf-mem)</a>:</b><em>
            How much memory does your component consume? Estimate
            with a relation to the number of windows, etc.
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-perf-wakeup">Question (perf-wakeup)</a>:</b><em>
            Does any piece of your code wake up periodically and do something
            even when the system is otherwise idle (no user interaction)?
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-perf-progress">Question (perf-progress)</a>:</b><em>
            Does your module execute any long-running tasks?
            
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-perf-huge_dialogs">Question (perf-huge_dialogs)</a>:</b><em>
            Does your module contain any dialogs or wizards with a large number of
            GUI controls such as combo boxes, lists, trees, or text areas?
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-perf-menus">Question (perf-menus)</a>:</b><em>
            Does your module use dynamically updated context menus, or
            context-sensitive actions with complicated and slow enablement logic?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer<p></p>
<font color="gray"><b><a name="answer-perf-spi">Question (perf-spi)</a>:</b><em>
            How the performance of the plugged in code will be enforced?
            
        </em></font>
<p></p>
<b>Answer:</b>No answer</ul>
    
    
    <!-- security -->
    <!-- recovery -->
    

</api-questions>
















































</api-answers>
<hr>
<p><span class="footnote">Built on September 14 2018.&nbsp;&nbsp;|&nbsp;&nbsp;         Copyright &#169; 2017-2018 Apache Software Foundation. All Rights Reserved.</span></p>
</body>
</html>
