This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 33120
Collapse All | Expand All

(-)autoupdate/arch/arch-autoupdate.xml (-32 / +202 lines)
Lines 4-11 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.6 $" date="$date$"
7
  version="$Revision: 1.14 $" date="$date$"
8
  question-version="1.10"
8
  question-version="1.12"
9
  module="Autoupdate client"
9
  module="Autoupdate client"
10
  author="phrebejk@netbeans.org"
10
  author="phrebejk@netbeans.org"
11
>
11
>
Lines 43-51 Link Here
43
            </hint>
43
            </hint>
44
        </question>
44
        </question>
45
-->
45
-->
46
<answer id="compat-i18n">
46
    <answer id="compat-i18n">
47
Yes
47
        <p>
48
</answer>
48
            Mostly. Internationalization and branding of the module itself
49
            (<samp>autoupdate.jar</samp>) is done in the regular NetBeans
50
            fashion, e.g. localized resources may be placed in
51
            <samp>modules/locale/autoupdate_f4j_ja.jar</samp>, etc. Support for
52
            the updater (<samp>updater.jar</samp>) is more idiosyncratic because
53
            it runs as a standalone application without access to the
54
            preconfigured NetBeans classpath and <code>NbBundle.branding</code>
55
            system. Therefore it supports internationalization and branding as
56
            follows:
57
        </p>
58
        <ul>
59
            <li>
60
                <p>
61
                    Localized and/or branded variants of the updater may be
62
                    placed in <samp>lib/locale/updater_*.jar</samp> as expected.
63
                </p>
64
            </li>
65
            <li>
66
                <p>
67
                    The file
68
                    <samp>org/netbeans/updater/resources/updatersplash.gif</samp>
69
                    may be branded in the regular way, e.g.
70
                    <samp>org/netbeans/updater/resources/updatersplash_f4j.gif</samp>.
71
                    But, it <strong>cannot currently be localized</strong>.
72
                </p>
73
                <p>
74
                    Note that the <code>-branding</code> startup parameter cannot
75
                    be used to specify branding for this, since that is
76
                    interpreted only by the IDE, but the standard
77
                    <code>lib/branding</code> file is parsed to determine the
78
                    installation's branding, which normally suffices. The failure
79
                    to interpret the startup parameter might be a problem if the
80
                    NetBeans platform were installed in one directory, different
81
                    IDE consolidations were installed in other directories, and a
82
                    special startup script used
83
                    <code>-J-Dnetbeans.dirs=...</code> and <code>-branding</code>
84
                    to create a branded unified IDE from them all.
85
                </p>
86
            </li>
87
            <li>
88
                <p>
89
                    The file <samp>org/netbeans/updater/Bundle.properties</samp>
90
                    can be localized in the regular way, e.g.
91
                    <samp>org/netbeans/updater/Bundle_ja.properties</samp>. But,
92
                    it <strong>cannot currently be branded</strong>.
93
                </p>
94
            </li>
95
            <li>
96
                <p>
97
                    Since branded splash screens may have different color
98
                    schemes, you can create a file
99
                    <samp>org/netbeans/updater/resources/Branding.properties</samp>
100
                    (<strong>note</strong> the lack of a standard branding
101
                    suffix!) in your branding JAR which may specify keys
102
                    (hopefully self-explanatory):
103
                </p>
104
                <ul>
105
                    <li><code>UpdaterFrame.TextBackground_R</code></li>
106
                    <li><code>UpdaterFrame.TextBackground_G</code></li>
107
                    <li><code>UpdaterFrame.TextBackground_B</code></li>
108
                    <li><code>UpdaterFrame.TextForeground_R</code></li>
109
                    <li><code>UpdaterFrame.TextForeground_G</code></li>
110
                    <li><code>UpdaterFrame.TextForeground_B</code></li>
111
                    <li><code>UpdaterFrame.hasBorder</code></li>
112
                </ul>
113
                <p>
114
                    Issuezilla #21624 may have more information on this weird
115
                    system.
116
                </p>
117
            </li>
118
        </ul>
119
    </answer>
49
120
50
121
51
122
Lines 60-66 Link Here
60
The module does not implement any standards. However it defines it's
131
The module does not implement any standards. However it defines it's
61
own XML format for communication with the server and own packaging
132
own XML format for communication with the server and own packaging
62
format for modules. Detailed information about the XML at
133
format for modules. Detailed information about the XML at
63
<A href="autoupdate.netbeans.org">autoupdate homepage</A>.
134
<a href="http://autoupdate.netbeans.org">autoupdate homepage</a>.
64
</answer>
135
</answer>
65
136
66
137
Lines 130-137 Link Here
130
Modules, Utilities, Explorer, Filesystems, Settings, and Datasystems APIs. 
201
Modules, Utilities, Explorer, Filesystems, Settings, and Datasystems APIs. 
131
The autoupdate module also depends directly
202
The autoupdate module also depends directly
132
on a couple of classes in the NetBeans core which are public specifically for its benefit:
203
on a couple of classes in the NetBeans core which are public specifically for its benefit:
133
<code>org.netbeans.core.ModuleNode.ModuleNewType</code>
204
<a href="http://core.netbeans.org/source/browse/core/src/org/netbeans/core/ModuleNode.java">
134
and <code>org.netbeans.core.modules.AutomaticDependencies</code>.
205
<code>org.netbeans.core.ModuleNode.ModuleNewType</code></a>
206
and <a href="http://core.netbeans.org/source/browse/core/src/org/netbeans/core/modules/AutomaticDependencies.java">
207
<code>org.netbeans.core.modules.AutomaticDependencies</code></a>.
135
It depends on the layout of the NetBeans installation, most of which is implemented
208
It depends on the layout of the NetBeans installation, most of which is implemented
136
by the module system in the NetBeans core.
209
by the module system in the NetBeans core.
137
It uses the file <samp>lib/ide.ks</samp> (a cryptographic keystore) for verifying
210
It uses the file <samp>lib/ide.ks</samp> (a cryptographic keystore) for verifying
Lines 141-152 Link Here
141
which are present in the NetBeans launcher that check for downloaded but unapplied
214
which are present in the NetBeans launcher that check for downloaded but unapplied
142
updates, and launch the updater tool (<samp>lib/updater.jar</samp>) if any are detected.
215
updates, and launch the updater tool (<samp>lib/updater.jar</samp>) if any are detected.
143
216
144
<api name="modules" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/modules/doc-files/api.html"/>
217
<api name="Modules API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/modules/doc-files/api.html"/>
145
<api name="filesystems" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"/>
218
<api name="Filesystems API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"/>
146
<api name="datasystems" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"/>
219
<api name="Loaders API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"/>
147
<api name="explorer" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/explorer/doc-files/api.html"/>
220
<api name="Explorer API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/explorer/doc-files/api.html"/>
148
<api name="settings" type="import" category="official" url=""/>
221
<api name="Settings API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/services-api.html#settings"/>
149
<api name="utilities" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"/>
222
<api name="Utilities API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"/>
150
</answer>
223
</answer>
151
224
152
225
Lines 234-240 Link Here
234
            NetBeans module system allows restriction of access rights to
307
            NetBeans module system allows restriction of access rights to
235
            public classes of your module from other modules. This prevents
308
            public classes of your module from other modules. This prevents
236
            unwanted dependencies of others on your code and should be used
309
            unwanted dependencies of others on your code and should be used
237
            whenever possible (<a href="http://www.netbeans.org/download/apis/org/openide/doc-files/upgrade.html#3.4-public-packages">
310
            whenever possible (<a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/upgrade.html#3.4-public-packages">
238
            public packages
311
            public packages
239
            </a>). 
312
            </a>). 
240
            </hint>
313
            </hint>
Lines 245-252 Link Here
245
in the manifest using: "OpenIDE-Module-Public-Packages: -". The api is currently
318
in the manifest using: "OpenIDE-Module-Public-Packages: -". The api is currently
246
used by the S1S autoupdate module. The separation of the official API/SPI 
319
used by the S1S autoupdate module. The separation of the official API/SPI 
247
should be done for 4.0. 
320
should be done for 4.0. 
248
<api name="autoupdate-dtd" type="export" category="stable"/>
321
<api name="autoupdate-dtd" type="export" group="dtd" category="stable" url="http://autoupdate.netbeans.org/nbm/catalog34.dtd"/>
249
<api name="autoupdate-type" type="export" category="stable"/>
322
<api name="info-dtd" type="export" category="stable" group="dtd" url="http://autoupdate.netbeans.org/nbm/info34.dtd"/>
250
323
251
</answer>
324
</answer>
252
325
Lines 265-271 Link Here
265
-->
338
-->
266
<answer id="deploy-shared">
339
<answer id="deploy-shared">
267
In order to be able to update the whole NB platform the module has to be installed
340
In order to be able to update the whole NB platform the module has to be installed
268
in the shared directory.
341
in the shared directory. Also the updater jar is stored in the shared directory (
342
in the lib subdirectory.)
269
</answer>
343
</answer>
270
344
271
345
Lines 373-383 Link Here
373
        </question>
447
        </question>
374
-->
448
-->
375
<answer id="exec-reflection">
449
<answer id="exec-reflection">
376
<LI>The XMLUtil class in Updater calls invokes XML related methods by reflection
450
<ul>
377
dependent on the fact whether xerces or Sun parser is used.</LI>
451
<li>The XMLUtil class in Updater calls invokes XML related methods by reflection
378
<LI>The Autoupdater class in AU module reads the proxy settings of IDE
452
dependent on the fact whether xerces or Sun parser is used.</li>
379
by reflection</LI>
453
<li>The Autoupdater class in AU module reads the proxy settings of IDE
380
454
by reflection</li>
455
</ul>
381
</answer>
456
</answer>
382
457
383
458
Lines 414-422 Link Here
414
        </question>
489
        </question>
415
-->
490
-->
416
<answer id="format-types">
491
<answer id="format-types">
417
<LI>Autoupdate types inf form of XML settings format</LI>
492
<ul>
418
<LI>Update tracking info in own XML format</LI>
493
<li>Autoupdate types inf form of XML settings format</li>
419
<LI>Downloaded .nbm files (basically .jar files)</LI>
494
<li>Update tracking info in own XML format</li>
495
<li>Downloaded .nbm files (basically .jar files)</li>
496
</ul>
420
</answer>
497
</answer>
421
498
422
499
Lines 436-445 Link Here
436
        </question>
513
        </question>
437
-->
514
-->
438
<answer id="lookup-lookup">
515
<answer id="lookup-lookup">
439
<LI>Searches for AutoupdateTypes declared in XML layer</LI>
516
<ul>
440
<LI>Autoupdater class searches for ClassLoader to be able to invoke 
517
<li>Searches for AutoupdateTypes declared in XML layer</li>
441
proxy settings method by reflection.</LI>
518
<li>Autoupdater class searches for ClassLoader to be able to invoke 
442
<LI>Autoupdater class searches for ModuleDescriptions using Lookup</LI>
519
proxy settings method by reflection.</li>
520
<li>Autoupdater class searches for ModuleDescriptions using Lookup</li>
521
</ul>
443
</answer>
522
</answer>
444
523
445
524
Lines 630-636 Link Here
630
        </question>
709
        </question>
631
-->
710
-->
632
<answer id="resources-file">
711
<answer id="resources-file">
633
Yes
712
<p>
713
There are two keystores in the netbeans installation. One in the lib
714
directory of NetBeans root dir. Second is in the lib directory of the
715
user's dir.<br/>
716
First one contains the default public key and ceritificate distributed 
717
with NetBeans, which is used for signing modules on the NetBeans autoupdate 
718
server. Certificates are added into the keystore when the autoupdate runs
719
in the root mode. This means that the root user of NetBeans may add certificates
720
for other users.<br/>
721
Second keystore is used for user additions of certificated. I.e. when the 
722
user decides to trust some certificate and adds it into the keystore then
723
the cerificate is added into his personal keystore and does not affect other
724
users of the NetBeans installation.
725
</p>
726
<p>
727
There is no support for getting back to older versions of modules using the
728
NetBeans UI. However the autoupdate client does backup of all files it 
729
replaces into update/backup subdirectory of either NetBeans root or NetBeans
730
user directory (depends on the mode NetBeans IDE is run in). Autoupdate client
731
also keeps track of the changes made into the installation in the
732
update_tracking subdirectory of NetBeans directory. There is XML file per
733
NetBeans module.<br/>
734
It is possible to do manual backout of installed modules using the files backed
735
up in the backup directory and the information stored in the update_tracking 
736
diectory.
737
</p>
738
<p>
739
All these files writen to disk should be considered private. Keystore and 
740
backup are in binary form. The au-tracking is in form of XML without any
741
DTD.
742
</p>
743
<api name="autoupdate-keystore" type="export" group="java.io.File" category="private"/>
744
<api name="autoupdate-backup" type="export" group="java.io.File" category="private"/>
745
<api name="autoupdate-tracking" type="export" group="java.io.File" category="private"/>
634
</answer>
746
</answer>
635
747
636
748
Lines 656-662 Link Here
656
settings. Also a template for the standard netbeans Au server is installed
768
settings. Also a template for the standard netbeans Au server is installed
657
using the XML layer.
769
using the XML layer.
658
It also installs the default update centers by registering instances of AU 
770
It also installs the default update centers by registering instances of AU 
659
service type. Same thing is done by the S1S AU extension.
771
service type. Same thing is done by the S1S AU extension. These settings
772
are stored on the DefaultFilesystmem in the Services/AutoupdateType folder. 
773
Autoupdate types are standard .settings files. However to initialize the server
774
directly from the layer one can use the url_key and enabled attributes of the
775
file. First one points to key in the localizing bundle which contains URL
776
of the server. The second allows for enablig/disabling the server by
777
default.
778
<api name="autoupdate-type" type="export" category="stable" group="layer"/>
660
</answer>
779
</answer>
661
780
662
781
Lines 698-703 Link Here
698
Yes. Modules may register their update server types and templates for these 
817
Yes. Modules may register their update server types and templates for these 
699
service types in the xml-layer. This is done by the S1S au extension. 
818
service types in the xml-layer. This is done by the S1S au extension. 
700
This API should probably be rated as under-development.
819
This API should probably be rated as under-development.
820
The autoupdate-type is described in the resources-leayer question beside this
821
anmd mentioned menus and action template for autoupdate type is registered in the 
822
layer. Users may use this template for adding extra AU servers into the 
823
Au client.
701
</answer>
824
</answer>
702
825
826
<!--
827
        
828
     <question id="keystores">
829
            Is keystore per user or common?
830
            
831
            <hint>
832
            Additional qustion from the ARC team.
833
            </hint>
834
        </question>
835
-->
836
837
<!--
838
        <question id="exec-introspection">
839
            Does your module use any kind of runtime type information (<code>instanceof</code>,
840
            work with <code>java.lang.Class</code>, etc.)?
841
            <hint>
842
            Check for cases when you have an object of type A and you also
843
            expect it to (possibly) be of type B and do some special action. That
844
            should be documented. The same applies on operations in meta-level
845
            (Class.isInstance(...), Class.isAssignableFrom(...), etc.).
846
            </hint>
847
        </question>
848
-->
849
<answer id="exec-introspection">
850
Of course. For internal types.
851
</answer>
852
853
854
855
<!--
856
        <question id="exec-process">
857
            Do you execute an external process from your module? How do you ensure
858
            that the result is the same on different platforms? Do you parse output?
859
            Do you depend on result code?
860
            <hint>
861
            If you feed an input, parse the output please declare that as an API.
862
            </hint>
863
        </question>
864
-->
865
<answer id="exec-process">
866
No.
867
</answer>
868
869
703
</api-answers>
870
</api-answers>
871
872
873
(-)core/arch/arch-core-javahelp.xml (-4 / +10 lines)
Lines 4-11 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.1 $" date="$date$"
7
  version="$Revision: 1.4 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="JavaHelp API"
9
  module="JavaHelp API"
10
  author="jglick@netbeans.org"
10
  author="jglick@netbeans.org"
11
>
11
>
Lines 28-34 Link Here
28
        library. It also provides a small additional API for NetBeans modules to
28
        library. It also provides a small additional API for NetBeans modules to
29
        supply help sets to the system, add GUI menu items, and request that
29
        supply help sets to the system, add GUI menu items, and request that
30
        particular help topics be displayed.
30
        particular help topics be displayed.
31
        <api name="JavaHelp Integration API Specification" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/JavaHelpAPI/"/>
31
        <api name="JavaHelp Integration API Specification" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/JavaHelpAPI/index.html"/>
32
    </answer>
32
    </answer>
33
33
34
34
Lines 120-127 Link Here
120
-->
120
-->
121
    <answer id="dep-nb">
121
    <answer id="dep-nb">
122
        <ul>
122
        <ul>
123
            <li><api name="Open APIs" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/"/></li>
123
            <li><api name="Modules API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/modules/doc-files/api.html"/></li>
124
            <li><api name="Utilities API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"/></li>
125
            <li><api name="Services API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/services-api.html#lookup-impl"/></li>
126
            <li><api name="Nodes API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"/></li>
127
            <li><api name="Window System API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/windows/doc-files/api.html"/></li>
128
            <li><api name="Actions API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/actions/doc-files/api.html"/></li>
124
        </ul>
129
        </ul>
130
125
    </answer>
131
    </answer>
126
132
127
133
(-)core/arch/arch-core-launcher.xml (-2 / +57 lines)
Lines 4-11 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.5 $" date="$date$"
7
  version="$Revision: 1.8 $" date="$date$"
8
  question-version="1.10"
8
  question-version="1.12"
9
  module="NetBeans launcher &amp; bootstrap code"
9
  module="NetBeans launcher &amp; bootstrap code"
10
  author="jglick@netbeans.org"
10
  author="jglick@netbeans.org"
11
>
11
>
Lines 429-434 Link Here
429
                    infrastructure etc.
429
                    infrastructure etc.
430
                </property>
430
                </property>
431
            </li>
431
            </li>
432
            <li>
433
                <property name="netbeans.osenv" category="private">
434
                    If set, path to a file containing all environment variables
435
                    known to the launcher, one per line (newline-terminated),
436
                    <samp>name=value</samp> format. Will be used to translate
437
                    environment variables into system properties. Launchers
438
                    should set this if they can.
439
                </property>
440
            </li>
441
            <li>
442
                <property name="netbeans.osenv.nullsep" category="private">
443
                    If <code>netbeans.osenv</code> is defined, this property if
444
                    <code>true</code> (default is <code>false</code>) says to use
445
                    ASCII NUL rather than NL for the separator between name/value
446
                    pairs. Permits values with embedded newlines, which seems to
447
                    be common on some Linux distributions at least. Launchers
448
                    should set this if they can.
449
                </property>
450
            </li>
432
        </ul>
451
        </ul>
433
        <p>
452
        <p>
434
            Additionally, the launcher in cooperation with the core makes all
453
            Additionally, the launcher in cooperation with the core makes all
Lines 821-826 Link Here
821
-->
840
-->
822
    <answer id="resources-read">
841
    <answer id="resources-read">
823
        No.
842
        No.
843
    </answer>
844
845
<!--
846
        <question id="exec-introspection">
847
            Does your module use any kind of runtime type information (<code>instanceof</code>,
848
            work with <code>java.lang.Class</code>, etc.)?
849
            <hint>
850
            Check for cases when you have an object of type A and you also
851
            expect it to (possibly) be of type B and do some special action. That
852
            should be documented. The same applies on operations in meta-level
853
            (Class.isInstance(...), Class.isAssignableFrom(...), etc.).
854
            </hint>
855
        </question>
856
-->
857
    <answer id="exec-introspection">
858
        <code>ProxyClassLoader</code> (the general NetBeans class loader which
859
        loads all of core and modules) checks to see if its parent loaders
860
        include instances of <code>ProxyClassLoader</code>, in which case it
861
        delegates to them differently. This is necessary due to the design of
862
        that loader.
863
    </answer>
864
865
866
867
<!--
868
        <question id="exec-process">
869
            Do you execute an external process from your module? How do you ensure
870
            that the result is the same on different platforms? Do you parse output?
871
            Do you depend on result code?
872
            <hint>
873
            If you feed an input, parse the output please declare that as an API.
874
            </hint>
875
        </question>
876
-->
877
    <answer id="exec-process">
878
        No, except for the updater tool (part of Auto Update, q.v.).
824
    </answer>
879
    </answer>
825
880
826
</api-answers>
881
</api-answers>
(-)core/arch/arch-core-term.xml (-8 / +16 lines)
Lines 4-11 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.3 $" date="$date$"
7
  version="$Revision: 1.5 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="Terminal Emulator"
9
  module="Terminal Emulator"
10
  author="jglick@netbeans.org"
10
  author="jglick@netbeans.org"
11
>
11
>
Lines 33-39 Link Here
33
        may be used for e.g. compiler error messages. In more advanced modes it
33
        may be used for e.g. compiler error messages. In more advanced modes it
34
        can even be used to run e.g. VI or Emacs, display margin glyphs, and so
34
        can even be used to run e.g. VI or Emacs, display margin glyphs, and so
35
        on.
35
        on.
36
        <api name="Termulator Functional Specification" type="export" category="devel" url="http://www.netbeans.org/unbranded-source/browse/~checkout~/core/libsrc/org/netbeans/lib/terminalemulator/func_spec.html"/>
36
        <api name="Terminal Emulator API" type="export" category="devel" url="http://www.netbeans.org/download/dev/javadoc/UnsupportedAPIs/TerminalEmulatorAPI/index.html"/>
37
    </answer>
37
    </answer>
38
38
39
39
Lines 43-49 Link Here
43
            Is your module correctly internationalized?
43
            Is your module correctly internationalized?
44
            <hint>
44
            <hint>
45
            Correct internationalization means that it obeys instuctions 
45
            Correct internationalization means that it obeys instuctions 
46
            at <a href="http://www.netbeans.org/devhome/docs/i18n/index.html">
46
            at <a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/i18n-branding.html">
47
            NetBeans I18N pages</a>.
47
            NetBeans I18N pages</a>.
48
            </hint>
48
            </hint>
49
        </question>
49
        </question>
Lines 64-74 Link Here
64
-->
64
-->
65
    <answer id="compat-standards">
65
    <answer id="compat-standards">
66
        <p>
66
        <p>
67
            The emulator should comply with the general ANSI term specification
67
            The emulator has full compliance with the generic "dumb" terminal type.
68
            given by ISO/IEC 6429:1992(E) / ANSI X3.64-1979. Its particular
68
            It has good but not 100% compliance with the general ANSI term specification
69
            compliance levels are closest to the Solaris <code>dtterm</code>.
69
            given by ISO/IEC 6429:1992(E) / ANSI X3.64-1979.
70
            It has some functionality on top of ANSI which is modeled on
71
            the Solaris <code>dtterm</code>, but is not a full emulation of that
72
            termcap.
70
            Subprocesses expecting <code>xterm</code> or <code>vt220</code>
73
            Subprocesses expecting <code>xterm</code> or <code>vt220</code>
71
            emulation should be fine as well.
74
            emulation should generally work as well.
72
        </p>
75
        </p>
73
        <p>
76
        <p>
74
            The library package provides some API documentation for use by
77
            The library package provides some API documentation for use by
Lines 652-657 Link Here
652
-->
655
-->
653
    <answer id="exec-process">
656
    <answer id="exec-process">
654
        No.
657
        No.
658
        Note that the termulator itself has no notion of subprocesses and
659
        cannot set a <code>TERMCAP</code>. However, it includes simple
660
        interfaces which could be used to plug in a full Unix tty if desired.
661
        In that case the choice of reported <code>TERMCAP</code> is at the
662
        discretion of the code supplying the tty interface.
655
    </answer>
663
    </answer>
656
664
657
</api-answers>
665
</api-answers>
(-)nbbuild/antsrc/org/netbeans/nbbuild/Arch-api-questions.xml (-3 / +3 lines)
Lines 9-15 Link Here
9
-->
9
-->
10
10
11
11
12
<api-questions version="$Revision: 1.11 $" date="$date: $" >
12
<api-questions version="1.12" date="$date: $" >
13
    <category id="arch" name="General Information">
13
    <category id="arch" name="General Information">
14
        <question id="arch-what">
14
        <question id="arch-what">
15
            What is this project good for?
15
            What is this project good for?
Lines 113-124 Link Here
113
        
113
        
114
    </category>
114
    </category>
115
    
115
    
116
    <category id="compat" name="Compatiblity with environment">
116
    <category id="compat" name="Compatibility with environment">
117
        <question id="compat-i18n">
117
        <question id="compat-i18n">
118
            Is your module correctly internationalized?
118
            Is your module correctly internationalized?
119
            <hint>
119
            <hint>
120
            Correct internationalization means that it obeys instuctions 
120
            Correct internationalization means that it obeys instuctions 
121
            at <a href="http://www.netbeans.org/devhome/docs/i18n/index.html">
121
            at <a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/i18n-branding.html">
122
            NetBeans I18N pages</a>.
122
            NetBeans I18N pages</a>.
123
            </hint>
123
            </hint>
124
        </question>
124
        </question>
(-)nbbuild/antsrc/org/netbeans/nbbuild/Arch.dtd (-2 / +4 lines)
Lines 47-64 Link Here
47
          id ID #REQUIRED
47
          id ID #REQUIRED
48
>
48
>
49
49
50
<!ELEMENT api EMPTY >
50
<!ELEMENT api %Flow; >
51
<!ATTLIST api
51
<!ATTLIST api
52
          group (java|property|dtd|layer|java.io.File) 'java'
52
          name CDATA #REQUIRED
53
          name CDATA #REQUIRED
53
          type (import|export) #REQUIRED
54
          type (import|export) #REQUIRED
54
          category %category; #REQUIRED
55
          category %category; #REQUIRED
55
          url CDATA #REQUIRED
56
          url CDATA #IMPLIED
56
>
57
>
57
58
58
<!ELEMENT property %Flow; >
59
<!ELEMENT property %Flow; >
59
<!ATTLIST property
60
<!ATTLIST property
60
          name CDATA #REQUIRED
61
          name CDATA #REQUIRED
61
          category %category; #REQUIRED
62
          category %category; #REQUIRED
63
          url CDATA #IMPLIED
62
>
64
>
63
65
64
<!-- now the content of included questions file -->
66
<!-- now the content of included questions file -->
(-)nbbuild/antsrc/org/netbeans/nbbuild/Arch.java (-1 / +13 lines)
Lines 230-235 Link Here
230
            if (footer != null) {
230
            if (footer != null) {
231
                t.setParameter("arch.footer", footer);
231
                t.setParameter("arch.footer", footer);
232
            }
232
            }
233
            
234
            String archTarget = output.toString();
235
            int slash = archTarget.lastIndexOf('/');
236
            if (slash > 0) {
237
                archTarget = archTarget.substring (slash + 1);
238
            }
239
            String archPref = getProject ().getProperty ("arch.target");
240
            if (archPref != null) {
241
                archTarget = archPref + File.separatorChar + archTarget;
242
            }
243
            
244
            t.setParameter("arch.target", archTarget);
233
245
234
            t.transform(s, r);
246
            t.transform(s, r);
235
        } catch (javax.xml.transform.TransformerConfigurationException ex) {
247
        } catch (javax.xml.transform.TransformerConfigurationException ex) {
Lines 314-320 Link Here
314
        w.write ("]>\n");
326
        w.write ("]>\n");
315
        w.write ("\n");
327
        w.write ("\n");
316
        w.write ("<api-answers\n");
328
        w.write ("<api-answers\n");
317
        w.write ("  version=\"$Revision: 1.15 $\" date=\"$date$\"\n");
329
        w.write ("  version=\"$Revision: 1.16 $\" date=\"$date$\"\n");
318
        w.write ("  question-version=\""); w.write (versionOfQuestions); w.write ("\"\n");
330
        w.write ("  question-version=\""); w.write (versionOfQuestions); w.write ("\"\n");
319
        w.write ("  module=\"name of your module\"\n");
331
        w.write ("  module=\"name of your module\"\n");
320
        w.write ("  author=\"yourname@netbeans.org\"\n");
332
        w.write ("  author=\"yourname@netbeans.org\"\n");
(-)nbbuild/antsrc/org/netbeans/nbbuild/Arch.xsl (-112 / +174 lines)
Lines 11-16 Link Here
11
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
11
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
12
    <xsl:output method="html"/>
12
    <xsl:output method="html"/>
13
    
13
    
14
    <!-- unique key over all groups of apis -->
15
    <xsl:key match="//api" name="apiGroups" use="@group" />
16
    
14
    <xsl:param name="arch.stylesheet"/>
17
    <xsl:param name="arch.stylesheet"/>
15
    <xsl:param name="arch.overviewlink"/>
18
    <xsl:param name="arch.overviewlink"/>
16
    <xsl:param name="arch.footer"/>
19
    <xsl:param name="arch.footer"/>
Lines 31-37 Link Here
31
            
34
            
32
                <h1>NetBeans Architecture Answers for <xsl:value-of select="api-answers/@module" /><xsl:text> module</xsl:text></h1>
35
                <h1>NetBeans Architecture Answers for <xsl:value-of select="api-answers/@module" /><xsl:text> module</xsl:text></h1>
33
                
36
                
34
                <xsl:variable name="qver" select="substring-before(substring-after(api-answers/api-questions/@version,'Revision: '),' $')" />
37
                <xsl:variable name="qver" select="api-answers/api-questions/@version" />
35
                <xsl:variable name="aver" select="substring-before(substring-after(api-answers/@version,'Revision:'),' $')" />
38
                <xsl:variable name="aver" select="substring-before(substring-after(api-answers/@version,'Revision:'),' $')" />
36
                <xsl:variable name="afor" select="api-answers/@question-version" />
39
                <xsl:variable name="afor" select="api-answers/@question-version" />
37
                
40
                
Lines 39-101 Link Here
39
                <li><b>Author:</b><xsl:text> </xsl:text><xsl:value-of select="api-answers/@author" /></li>
42
                <li><b>Author:</b><xsl:text> </xsl:text><xsl:value-of select="api-answers/@author" /></li>
40
                <li><b>Version of answers:</b><xsl:text> </xsl:text><xsl:value-of select="$aver" /></li>
43
                <li><b>Version of answers:</b><xsl:text> </xsl:text><xsl:value-of select="$aver" /></li>
41
                <li><b>Answers for questions:</b><xsl:text> </xsl:text><xsl:value-of select="$afor" /></li>
44
                <li><b>Answers for questions:</b><xsl:text> </xsl:text><xsl:value-of select="$afor" /></li>
42
                <li><b>Version of questions:</b><xsl:text> </xsl:text><xsl:value-of select="$qver" /></li>
43
                </ul>
45
                </ul>
44
                
45
                <xsl:if test="not($qver=$afor)">
46
                    <b> WARNING: Version of questions is different than 
47
                        those that these answers are written for! 
48
                        Is: "<xsl:value-of select="$qver"/>" and should 
49
                        be "<xsl:value-of select="$afor" />".
50
                    </b>
51
                </xsl:if>
52
            
46
            
53
                <xsl:apply-templates />    
47
                <xsl:apply-templates />    
54
                
48
                
55
                <hr/>
49
                <hr/>
56
                
50
57
                <h2>Interfaces table</h2>
51
                <h2>Interfaces table</h2>
52
53
                <xsl:call-template name="for-each-group">
54
                    <xsl:with-param name="target" >api-group</xsl:with-param>
55
                </xsl:call-template>
58
                
56
                
59
                <xsl:variable name="all_interfaces" select="//api" />
60
                
57
                
58
                <xsl:variable name="all_interfaces" select="//api" />
61
                <xsl:if test="not($all_interfaces)" >
59
                <xsl:if test="not($all_interfaces)" >
62
                    <b> WARNING: No imported or exported interfaces! </b>
60
                    <b> WARNING: No imported or exported interfaces! </b>
63
                </xsl:if>
61
                </xsl:if>
64
             
62
65
                <table border="1" >   
66
                    <thead>
67
                        <td>Name</td>
68
                        <td>Imported/Exported</td>
69
                        <td>Stability category</td>
70
                        <td>Reference URL</td>
71
                    </thead>
72
                
73
                    <xsl:for-each select="$all_interfaces">
74
                        <xsl:call-template name="api" />
75
                    </xsl:for-each>
76
                </table>
77
                
78
                <hr/>
63
                <hr/>
79
                
64
                                
80
                <xsl:variable name="all_properties" select="//property" />
81
                <xsl:if test="$all_properties">
82
                
83
                    <h2>Properties table</h2>
84
                
85
                    <table border="1" >   
86
                        <thead>
87
                            <td>Name</td>
88
                            <td>Stability category</td>
89
                            <td>Description</td>
90
                        </thead>
91
92
                        <xsl:for-each select="$all_properties">
93
                            <xsl:call-template name="property" />
94
                        </xsl:for-each>
95
                    </table>
96
                    <hr/>
97
                </xsl:if>
98
                
99
                <xsl:if test="$arch.footer">
65
                <xsl:if test="$arch.footer">
100
                    <p><xsl:value-of select="$arch.footer"/></p>
66
                    <p><xsl:value-of select="$arch.footer"/></p>
101
                </xsl:if>
67
                </xsl:if>
Lines 121-127 Link Here
121
        <xsl:variable name="value" select="@id" />
87
        <xsl:variable name="value" select="@id" />
122
    
88
    
123
        <p/>
89
        <p/>
90
        <font color="gray" >
124
        <b>Question (<xsl:value-of select="@id"/>):</b> <em><xsl:apply-templates select="./node()" /></em>
91
        <b>Question (<xsl:value-of select="@id"/>):</b> <em><xsl:apply-templates select="./node()" /></em>
92
        </font>
125
        <p/>
93
        <p/>
126
        
94
        
127
        <xsl:choose>
95
        <xsl:choose>
Lines 154-204 Link Here
154
    </xsl:template>
122
    </xsl:template>
155
123
156
    <xsl:template name="api">
124
    <xsl:template name="api">
157
        <xsl:variable name="name" select="@name" />
125
        <xsl:call-template name="api-line" >
158
        <xsl:variable name="type" select="@type" />
126
            <xsl:with-param name="name" select="@name" />
159
        <xsl:variable name="category" select="@category" />
127
            <xsl:with-param name="type" select="@type" />
160
        <xsl:variable name="url" select="@url" />
128
            <xsl:with-param name="group">api</xsl:with-param>
161
129
            <xsl:with-param name="category" select="@category" />
162
        <tbody>
130
            <xsl:with-param name="describe.url" select="@url" />
163
            <td>
131
            <xsl:with-param name="describe.node" select="./node()" />
164
                <a>
132
        </xsl:call-template>
165
                    <xsl:attribute name="name" >
166
                        <xsl:text>api-</xsl:text><xsl:value-of select="$name" />
167
                    </xsl:attribute>
168
                    <xsl:value-of select="$name" />
169
                </a>
170
            </td>
171
            <td> <!-- imported/exported -->
172
                <xsl:choose>
173
                    <xsl:when test="$type='import'">Imported</xsl:when>
174
                    <xsl:when test="$type='export'">Exported</xsl:when>
175
                    <xsl:otherwise>WARNING: <xsl:value-of select="$type" /></xsl:otherwise>
176
                </xsl:choose>
177
            </td>
178
            <td> <!-- stability category -->
179
                <xsl:choose>
180
                    <xsl:when test="$category='official'">Official</xsl:when>
181
                    <xsl:when test="$category='stable'">Stable</xsl:when>
182
                    <xsl:when test="$category='devel'">Under Development</xsl:when>
183
                    <xsl:when test="$category='third'">Third party</xsl:when>
184
                    <xsl:when test="$category='standard'">Standard</xsl:when>
185
                    <xsl:when test="$category='friend'">Friend private</xsl:when>
186
                    <xsl:when test="$category='private'">Private</xsl:when>
187
                    <xsl:when test="$category='deprecated'">Deprecated</xsl:when>
188
                    <xsl:otherwise>WARNING: <xsl:value-of select="$category" /></xsl:otherwise>
189
                </xsl:choose>
190
            </td>
191
            
192
            <td> <!-- url -->
193
                <a>
194
                    <xsl:attribute name="href" >
195
                        <xsl:value-of select="$url" />
196
                    </xsl:attribute>
197
                    <xsl:value-of select="$url" />
198
                </a>
199
            </td>
200
        </tbody>
201
            
202
    </xsl:template>
133
    </xsl:template>
203
    
134
    
204
    <xsl:template match="property">
135
    <xsl:template match="property">
Lines 213-232 Link Here
213
        </a>
144
        </a>
214
        
145
        
215
    </xsl:template>
146
    </xsl:template>
147
    
148
    <!-- Format random HTML elements as is: -->
149
    <xsl:template match="@*|node()">
150
        <xsl:copy>
151
            <xsl:apply-templates select="@*|node()"/>
152
        </xsl:copy>
153
    </xsl:template>
154
  
155
  
156
    <xsl:template match="answer">
157
        <!-- ignore direct answers -->
158
    </xsl:template>
159
    <xsl:template match="hint">
160
        <!-- ignore direct answers -->
161
    </xsl:template>
162
    
163
    <!-- enumerates all groups of APIs and calls given template 
164
      on each of them
165
    -->
166
    <xsl:template name="for-each-group" >
167
        <xsl:param name="target" />
168
    
169
        <xsl:for-each select="//api[generate-id() = generate-id(key('apiGroups', @group))]">
170
            <xsl:call-template name="jump-to-target">
171
                <xsl:with-param name="group" select="@group" />
172
                <xsl:with-param name="target" select="$target" />
173
            </xsl:call-template>
174
        </xsl:for-each>
216
175
217
    <xsl:template name="property">
176
        <!-- backward compatibility for property tag, if no 
218
        <xsl:variable name="name" select="@name" />
177
            <api group="property" ... /> but <property />
219
        <xsl:variable name="category" select="@category" />
178
            call the template
179
        -->
180
        <xsl:variable name="old_properties" select="//property" />
181
        <xsl:variable name="new_properties" select="//api[@group='property']" />
182
        <xsl:if test="$old_properties and not($new_properties)" >
183
            <xsl:call-template name="jump-to-target">
184
                <xsl:with-param name="group">property</xsl:with-param>
185
                <xsl:with-param name="target" select="$target" />
186
            </xsl:call-template>
187
        </xsl:if>
188
    </xsl:template>    
189
    <xsl:template name="jump-to-target" >
190
        <xsl:param name="target" />
191
        <xsl:param name="group" />
192
        
193
        <xsl:choose>
194
            <xsl:when test="$target='api-group'" >
195
                <xsl:call-template name="api-group">
196
                    <xsl:with-param name="group" select="$group" />
197
                </xsl:call-template>
198
            </xsl:when>
199
            <xsl:otherwise>WRONG <xsl:value-of select="$target" /></xsl:otherwise>
200
        </xsl:choose>
201
    </xsl:template>
202
    
203
204
    <!-- displays group of APIs -->
205
    
206
    <xsl:template name="api-group" >
207
        <xsl:param name="group" />
208
        
209
    
210
        <a>
211
            <xsl:attribute name="name" >
212
                <xsl:text>group-</xsl:text><xsl:value-of select="$group" />
213
            </xsl:attribute>
214
            <h5>Group of <xsl:value-of select="$group"/> interfaces</h5>
215
        </a>
216
        
217
        <xsl:variable name="all_interfaces" select="//api[@group=$group]" />
218
        <table border="1" width="100%" >   
219
            <thead>
220
                <th valign="bottom" width="25%"><b>Interface Name</b></th>
221
                <th valign="bottom" width="10%"><b>In/Out</b></th>
222
                <th valign="bottom" width="10%"><b>Stability</b></th>
223
                <th valign="bottom" ><b>Specified in What Document?</b></th>
224
            </thead>
225
226
            <xsl:for-each select="$all_interfaces">
227
                <tr/>
228
                <xsl:call-template name="api" />
229
            </xsl:for-each>
230
            
231
            <!-- backward compat for <property /> tags -->
232
            
233
            <xsl:if test="$group='property'" >
234
                <xsl:variable name="all_properties" select="//property" />
235
                
236
                <xsl:for-each select="$all_properties">
237
                    <tr/>
238
                    <xsl:call-template name="api-line" >
239
                        <xsl:with-param name="group">property</xsl:with-param>
240
                        <xsl:with-param name="name" select="@name" />
241
                        <xsl:with-param name="type">export</xsl:with-param>
242
                        <xsl:with-param name="category" select="@category" />
243
                        <xsl:with-param name="describe.url" select="@url" />
244
                        <xsl:with-param name="describe.node" select="./node()" />
245
                    </xsl:call-template>
246
                </xsl:for-each>
247
            </xsl:if>
248
        </table>
249
250
        <p/>
251
    </xsl:template>    
252
    
253
    <!-- the template to convert an instances of API into an HTML line in a table 
254
      describing the API -->
255
256
    <xsl:template name="api-line" >
257
       <xsl:param name="name" />
258
       <xsl:param name="group" />
259
       <xsl:param name="category" />
260
       <xsl:param name="type" /> <!-- can be left empty -->
261
       
262
       <xsl:param name="describe.url" />
263
       <xsl:param name="describe.node" />
220
264
221
        <tbody>
265
        <tbody>
222
            <td>
266
            <td>
223
                <a>
267
                <a>
224
                    <xsl:attribute name="name" >
268
                    <xsl:attribute name="name" >
225
                        <xsl:text>property-</xsl:text><xsl:value-of select="$name" />
269
                        <xsl:value-of select="$group" /><xsl:text>-</xsl:text><xsl:value-of select="$name" />
226
                    </xsl:attribute>
270
                    </xsl:attribute>
227
                    <xsl:value-of select="$name" />
271
                    <xsl:value-of select="$name" />
228
                </a>
272
                </a>
229
            </td>
273
            </td>
274
            <xsl:if test="$type" > 
275
                <td> <!-- imported/exported -->
276
                    <xsl:choose>
277
                        <xsl:when test="$type='import'">Imported</xsl:when>
278
                        <xsl:when test="$type='export'">Exported</xsl:when>
279
                        <xsl:otherwise>WARNING: <xsl:value-of select="$type" /></xsl:otherwise>
280
                    </xsl:choose>
281
                </td>
282
            </xsl:if>
230
            <td> <!-- stability category -->
283
            <td> <!-- stability category -->
231
                <xsl:choose>
284
                <xsl:choose>
232
                    <xsl:when test="$category='official'">Official</xsl:when>
285
                    <xsl:when test="$category='official'">Official</xsl:when>
Lines 242-266 Link Here
242
            </td>
295
            </td>
243
            
296
            
244
            <td> <!-- description -->
297
            <td> <!-- description -->
245
                    <xsl:apply-templates select="./node()" />
298
                <xsl:call-template name="describe">
299
                  <xsl:with-param name="describe.url" select="$describe.url" />
300
                  <xsl:with-param name="describe.node" select="$describe.node" />
301
                </xsl:call-template>
246
            </td>
302
            </td>
247
        </tbody>
303
        </tbody>
248
            
304
    </xsl:template>  
249
    </xsl:template>
305
    <xsl:template name="describe">
250
306
       <xsl:param name="describe.url" />
251
    <!-- Format random HTML elements as is: -->
307
       <xsl:param name="describe.node" />
252
    <xsl:template match="@*|node()">
308
       
253
        <xsl:copy>
309
       
254
            <xsl:apply-templates select="@*|node()"/>
310
       <xsl:if test="$describe.url" >
255
        </xsl:copy>
311
            <a>
256
    </xsl:template>
312
                <xsl:attribute name="href" >
257
  
313
                    <xsl:value-of select="$describe.url" />
258
  
314
                </xsl:attribute>
259
    <xsl:template match="answer">
315
                <xsl:value-of select="$describe.url" />
260
        <!-- ignore direct answers -->
316
            </a>
261
    </xsl:template>
317
           
262
    <xsl:template match="hint">
318
           <xsl:if test="$describe.node" >
263
        <!-- ignore direct answers -->
319
               <p/>
320
           </xsl:if>
321
       </xsl:if>
322
       
323
       <xsl:if test="$describe.node" >
324
           <xsl:apply-templates select="$describe.node" />
325
       </xsl:if>
264
    </xsl:template>
326
    </xsl:template>
265
        
327
        
266
</xsl:stylesheet> 
328
</xsl:stylesheet> 
(-)openide/arch/arch-openide-actions.xml (-9 / +15 lines)
Lines 4-11 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.9 $" date="$date$"
7
  version="$Revision: 1.12 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="Actions"
9
  module="Actions"
10
  author="pzavadsky@netbeans.org"
10
  author="pzavadsky@netbeans.org"
11
>
11
>
Lines 127-133 Link Here
127
<ul>
127
<ul>
128
<li>
128
<li>
129
    <api 
129
    <api 
130
        name="nodes"
130
        name="Nodes API"
131
        group="java"
131
        type="import"
132
        type="import"
132
        category="official"
133
        category="official"
133
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"
134
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"
Lines 136-142 Link Here
136
</li>
137
</li>
137
<li>
138
<li>
138
    <api 
139
    <api 
139
        name="windowsystem"
140
        name="WindowSystem API"
141
        group="java"
140
        type="import"
142
        type="import"
141
        category="official"
143
        category="official"
142
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/windows/doc-files/api.html"
144
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/windows/doc-files/api.html"
Lines 145-151 Link Here
145
</li>
147
</li>
146
<li>
148
<li>
147
    <api 
149
    <api 
148
        name="explorer"
150
        name="Explorer API"
151
        group="java"
149
        type="import"
152
        type="import"
150
        category="official"
153
        category="official"
151
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/explorer/doc-files/api.html"
154
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/explorer/doc-files/api.html"
Lines 154-160 Link Here
154
</li>
157
</li>
155
<li>
158
<li>
156
    <api 
159
    <api 
157
        name="filesystems"
160
        name="Filesystems API"
161
        group="java"
158
        type="import"
162
        type="import"
159
        category="official"
163
        category="official"
160
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"
164
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"
Lines 163-169 Link Here
163
</li>
167
</li>
164
<li>
168
<li>
165
    <api 
169
    <api 
166
        name="datasystems"
170
        name="Loaders API"
171
        group="java"
167
        type="import"
172
        type="import"
168
        category="official"
173
        category="official"
169
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"
174
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"
Lines 172-178 Link Here
172
</li>
177
</li>
173
<li>
178
<li>
174
    <api 
179
    <api 
175
        name="utilities"
180
        name="Utilities API"
181
        group="java"
176
        type="import"
182
        type="import"
177
        category="official"
183
        category="official"
178
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"
184
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"
Lines 273-279 Link Here
273
        </question>
279
        </question>
274
-->
280
-->
275
<answer id="deploy-packages">
281
<answer id="deploy-packages">
276
No, ther are <api name="Actions API" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/actions/doc-files/api.html" />.
282
No, ther are <api name="Actions API" group="java" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/actions/doc-files/api.html" />.
277
</answer>
283
</answer>
278
284
279
285
(-)openide/arch/arch-openide-compiler.xml (-20 / +22 lines)
Lines 4-37 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
    version="$Revision: 1.5 $" date="$date:$"
7
    version="$Revision: 1.10 $" date="$date:$"
8
    question-version="1.11"
8
    question-version="1.12"
9
    module="Compiler API"
9
    module="Compiler"
10
    author="sdedic@netbeans.org"
10
    author="sdedic@netbeans.org"
11
>
11
>
12
12
13
&api-questions;
13
&api-questions;
14
14
15
<answer id="arch-what">
15
<answer id="arch-what">
16
The Compiler APIs allow to commence and control compilation or other process on
16
The <api 
17
    name="Compiler API" type="export" category="official"
18
    url="http://www.netbeans.org/download/dev/javadoc/CompilerAPI/org/openide/compiler/doc-files/api.html" 
19
/> allows to commence and control compilation or other process on
17
individual files, or implement and publish a compiler (or other processor).
20
individual files, or implement and publish a compiler (or other processor).
18
See <a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/compiler/doc-files/api.html">Compiler API Specification</a>
19
</answer>
21
</answer>
20
22
21
<answer id="dep-nb">
23
<answer id="dep-nb">
22
    <api name="datasystems" type="import" category="official"
24
    <api name="Loaders API" group="java" type="import" category="official"
23
	url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"
25
	url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"
24
    />
26
    />
25
    <api name="execution" type="import" category="official"
27
    <api name="Execution API" type="import" category="official"
26
	url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/execution/doc-files/api.html"
28
	url="http://www.netbeans.org/download/dev/javadoc/ExecutionAPI/org/openide/execution/doc-files/api.html"
27
    />
29
    />
28
    <api name="filesystems" type="import" category="official"
30
    <api name="Filesystems API" type="import" category="official"
29
	url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"
31
	url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"
30
    />
32
    />
31
    <api name="io" type="import" category="official"
33
    <api name="Input/Output API" type="import" category="official"
32
	url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/windows/doc-files/api.html"
34
	url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/windows/doc-files/api.html"
33
    />
35
    />
34
    <api name="nodes" type="import" category="official"
36
    <api name="Nodes API" type="import" category="official"
35
	url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"
37
	url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"
36
    />
38
    />
37
</answer>
39
</answer>
Lines 90-111 Link Here
90
<answer id="resources-layer">
92
<answer id="resources-layer">
91
The core counterpart of this module registers these items in the layer:
93
The core counterpart of this module registers these items in the layer:
92
    <dl>
94
    <dl>
93
        <dt><b>Templates/Services/CompilerType</b> (<api name="Compiler Templates Registry" type="export" category="friend"/>)</dt>
95
        <dt><api name="Compiler Templates Registry" group="layer" type="export" category="friend">
94
        <dd>
96
            <b>Templates/Services/CompilerType</b>: 
95
            Templates for creating additional Compiler Types should be registered here. The core part will present
97
            Templates for creating additional Compiler Types should be registered here. The core part will present
96
            those templates when the user chooses to create a new compiler type.
98
            those templates when the user chooses to create a new compiler type.
97
        </dd>
99
        </api></dt>
98
        <dt><b>Services/CompilerType</b> (<api name="Compiler Services Registry" type="export" category="friend"/>)</dt>
100
        <dt><api name="Compiler Services Registry" group="layer" type="export" category="friend">
99
        <dd>
101
            <b>Services/CompilerType</b>:
100
            Compiler-style services should be registered in this folder, rather than directly in <code>Services</code>
102
            Compiler-style services should be registered in this folder, rather than directly in <code>Services</code>
101
            folder.
103
            folder.
102
        </dd>
104
        </api></dt>
103
        <dt><b>UI/Services/CompilerType</b></dt>
105
        <dt><api name="Compiler Services Registry UI" group="layer" type="export" category="private">
104
        <dd>
106
            <b>UI/Services/CompilerType</b>:
105
            The core counterpart of this module adds a link to the <i>Compiler Services Registry</i> into the Tools | Options
107
            The core counterpart of this module adds a link to the <i>Compiler Services Registry</i> into the Tools | Options
106
            presentation definition. The core is expected to display Compilers at the appropriate position among other
108
            presentation definition. The core is expected to display Compilers at the appropriate position among other
107
            Options.
109
            Options.
108
        </dd>
110
        </api></dt>
109
    </dl>
111
    </dl>
110
</answer>
112
</answer>
111
113
(-)openide/arch/arch-openide-datasystems.xml (-9 / +56 lines)
Lines 4-18 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.10 $" date="$date$"
7
  version="$Revision: 1.15 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.13"
9
  module="Data system"
9
  module="Loaders"
10
  author="dstrupl@netbeans.org"
10
  author="dstrupl@netbeans.org"
11
>
11
>
12
12
13
  &api-questions;
13
  &api-questions;
14
14
15
15
16
17
<!--
18
        <question id="arch-what">
19
            What is this project good for?
20
            <hint>
21
            Please provide here a few lines describing the project, 
22
            what problem it should solve, provide links to documentation, 
23
            specifications, etc.
24
            </hint>
25
        </question>
26
-->
27
<answer id="arch-what">
28
    In summary, the <api name="Loaders API" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html" />
29
    is responsible for scanning files in a directory on disk, 
30
    weeding out irrelevant files of no interest to the IDE, 
31
    and grouping the rest into logical chunks, or just determining 
32
    what type of data each represents. It does this scanning by asking each registered 
33
    data loader whether or not the given file(s) should be handled. The first 
34
    loader to recognize a file takes ownership of it, and creates a matching data object to represent it to the rest of the IDE.
35
</answer>
36
37
  
38
16
<!-- Question: compat-i18n
39
<!-- Question: compat-i18n
17
40
18
     <question id="compat-i18n">
41
     <question id="compat-i18n">
Lines 89-95 Link Here
89
        </question>
112
        </question>
90
-->
113
-->
91
<answer id="dep-nb">
114
<answer id="dep-nb">
92
It depends on filesystems, lookup and util.
115
It depends on 
116
    <api name="Filesystems API" type="import" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html" category="official" />, 
117
    <api name="Lookup API" type="import" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/services-api.html#lookup" category="official" />, 
118
    <api name="Utilities API" type="import" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html" category="official" />.
93
</answer>
119
</answer>
94
120
95
121
Lines 308-314 Link Here
308
    <property name="netbeans.profile.memory" category="private" > 
334
    <property name="netbeans.profile.memory" category="private" > 
309
        Boolean.TRUE means to dettach from shared impl of parser, it is static!?
335
        Boolean.TRUE means to dettach from shared impl of parser, it is static!?
310
    </property>
336
    </property>
311
  
337
    
338
    <property name="org.openide.loaders.FolderList.refresh.interval" category="private" > 
339
        The value of type integer determines the number of milliseconds
340
        between successive refreshes of contents of a folder. Can be used to tweak
341
        performance of folder refresh. Defaults to 10.
342
    </property>
312
</answer>
343
</answer>
313
344
314
345
Lines 566-576 Link Here
566
        </question>
597
        </question>
567
-->
598
-->
568
<answer id="resources-layer">
599
<answer id="resources-layer">
569
No.
600
Yes, module creates the folders in layer <samp>org/netbeans/core/ui/resources/layer.xml</samp>
601
in <samp>core-ui.jar</samp>. The folders are instrumental to store information
602
about used templates.
603
<b>Provided folderes: </b>
604
<ul>
605
<li>
606
    <api name="Privileged templates" group="layer" type="export" category="devel" url="">
607
    A folder Privileged offers to other module possibility add own templates.
608
    </api><p></p>
609
</li>
610
<li>
611
    <api name="Recent templates" group="layer" type="export" category="private" url="">
612
    A folder Recent stores a set of recently used templates, it's not open to other module. 
613
    </api><p></p>
614
</li>
615
</ul>
616
None of them is forced to found.
570
</answer>
617
</answer>
571
618
572
573
574
<!-- Question: resources-mask
619
<!-- Question: resources-mask
575
620
576
     <question id="resources-mask">
621
     <question id="resources-mask">
Lines 591-597 Link Here
591
        </question>
636
        </question>
592
-->
637
-->
593
<answer id="resources-read">
638
<answer id="resources-read">
594
No.
639
Module reads a list of templates from folders Privileged and Recent from core/ui layer. 
640
This list is exposed in a popup menu.
595
</answer>
641
</answer>
596
642
597
</api-answers>
643
</api-answers>
644
(-)openide/arch/arch-openide-deprecated.xml (-7 / +15 lines)
Lines 4-11 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.6 $" date="$date$"
7
  version="$Revision: 1.9 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="Deprecated"
9
  module="Deprecated"
10
  author="jtulach@netbeans.org"
10
  author="jtulach@netbeans.org"
11
>
11
>
Lines 29-35 Link Here
29
If an old module is detected, this module is automatically inserted
29
If an old module is detected, this module is automatically inserted
30
into its classpath, thus preventing linkage errors and allowing old
30
into its classpath, thus preventing linkage errors and allowing old
31
clients to work. This 
31
clients to work. This 
32
<api name="Deprecated API" type="export" category="deprecated" 
32
<api name="Deprecated API" group="java" type="export" category="deprecated" 
33
  url="http://www.netbeans.org/download/dev/javadoc/DeprecatedAPIs/index.html" />
33
  url="http://www.netbeans.org/download/dev/javadoc/DeprecatedAPIs/index.html" />
34
is supposed to be replaced by a use of newer one.
34
is supposed to be replaced by a use of newer one.
35
</answer>
35
</answer>
Lines 128-175 Link Here
128
<ul>
128
<ul>
129
    <li><api 
129
    <li><api 
130
        name="Nodes API"
130
        name="Nodes API"
131
        group="java"
131
        type="import"
132
        type="import"
132
        category="official"
133
        category="official"
133
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"
134
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"
134
    /></li>
135
    /></li>
135
    <li><api 
136
    <li><api 
136
        name="WindowSystem API"
137
        name="WindowSystem API"
138
        group="java"
137
        type="import"
139
        type="import"
138
        category="official"
140
        category="official"
139
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/windows/doc-files/api.html"
141
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/windows/doc-files/api.html"
140
    /></li>
142
    /></li>
141
    <li><api 
143
    <li><api 
142
        name="PropertySheet API"
144
        name="Explorer API"
145
        group="java"
143
        type="import"
146
        type="import"
144
        category="official"
147
        category="official"
145
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/explorer/doc-files/api.html"
148
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/explorer/doc-files/api.html"
146
    /></li>
149
    /></li>
147
    <li><api 
150
    <li><api 
148
        name="FileSystems API"
151
        name="Filesystems API"
152
        group="java"
149
        type="import"
153
        type="import"
150
        category="official"
154
        category="official"
151
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"
155
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"
152
    /></li>
156
    /></li>
153
    <li><api 
157
    <li><api 
154
        name="DataSystems API"
158
        name="Loaders API"
159
        group="java"
155
        type="import"
160
        type="import"
156
        category="official"
161
        category="official"
157
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"
162
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"
158
    /></li>
163
    /></li>
159
    <li><api 
164
    <li><api 
160
        name="Utilities API"
165
        name="Utilities API"
166
        group="java"
161
        type="import"
167
        type="import"
162
        category="official"
168
        category="official"
163
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"
169
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"
164
    /></li>
170
    /></li>
165
    <li><api 
171
    <li><api 
166
        name="Compiler API"
172
        name="Compiler API"
173
        group="java"
167
        type="import"
174
        type="import"
168
        category="official"
175
        category="official"
169
        url="http://www.netbeans.org/download/dev/javadoc/CompilerAPI/org/openide/compiler/doc-files/api.html"
176
        url="http://www.netbeans.org/download/dev/javadoc/CompilerAPI/org/openide/compiler/doc-files/api.html"
170
    /></li>
177
    /></li>
171
    <li><api 
178
    <li><api 
172
        name="Execution API"
179
        name="Execution API"
180
        group="java"
173
        type="import"
181
        type="import"
174
        category="official"
182
        category="official"
175
        url="http://www.netbeans.org/download/dev/javadoc/ExecutionAPI/org/openide/execution/doc-files/api.html"
183
        url="http://www.netbeans.org/download/dev/javadoc/ExecutionAPI/org/openide/execution/doc-files/api.html"
Lines 233-239 Link Here
233
The module is distributed in <code>modules/autoload/openide-deprecated.jar</code> but 
241
The module is distributed in <code>modules/autoload/openide-deprecated.jar</code> but 
234
also stores a file to <code>system/ModuleAutoDeps/org-openide-deprecated.xml</code>
242
also stores a file to <code>system/ModuleAutoDeps/org-openide-deprecated.xml</code>
235
in order to communicate with 
243
in order to communicate with 
236
<api name="Modules API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/modules/doc-files/api.html"/>.
244
<api name="Modules API" group="java" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/modules/doc-files/api.html"/>.
237
</answer>
245
</answer>
238
246
239
247
(-)openide/arch/arch-openide-dialogs.xml (-5 / +7 lines)
Lines 4-11 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.5 $" date="$date$"
7
  version="$Revision: 1.9 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="Dialogs API"
9
  module="Dialogs API"
10
  author="jrechtacek@netbeans.org"
10
  author="jrechtacek@netbeans.org"
11
>
11
>
Lines 24-33 Link Here
24
        </question>
24
        </question>
25
-->
25
-->
26
<answer id="arch-what">
26
<answer id="arch-what">
27
The Dialogs and wizards API allows creating a user notification, a dialog's description
27
The  
28
<api name="Dialogs and wizards API" category="official" type="export" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/package-summary.html#package_description" />
29
allows creating a user notification, a dialog's description
28
and also permits it to be displayed. The wizard framework allows create a sequence
30
and also permits it to be displayed. The wizard framework allows create a sequence
29
of panels which leads a user through the steps to complete any task.
31
of panels which leads a user through the steps to complete any task.
30
This API is part of <a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/package-summary.html#package_description">org.openide</a> package.
32
This API is part of  package.
31
</answer>
33
</answer>
32
34
33
35
Lines 117-123 Link Here
117
        </question>
119
        </question>
118
-->
120
-->
119
<answer id="dep-nb">
121
<answer id="dep-nb">
120
<api name="utilities" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"/>
122
<api name="Utilities API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"/>
121
</answer>
123
</answer>
122
124
123
125
(-)openide/arch/arch-openide-editor.xml (-36 / +45 lines)
Lines 4-11 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.8 $" date="$date$"
7
  version="$Revision: 1.13 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="Editor"
9
  module="Editor"
10
  author="dkonecny@netbeans.org"
10
  author="dkonecny@netbeans.org"
11
>
11
>
Lines 25-33 Link Here
25
        </question>
25
        </question>
26
-->
26
-->
27
<answer id="arch-what">
27
<answer id="arch-what">
28
The Editor module is used for accessing editor-related functionality from within the IDE
28
The <api 
29
for use by other modules and the core IDE itself. The documentation can be found
29
    name="Editor API" type="export" category="official" 
30
<a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/text/doc-files/api.html">here</a>.
30
    url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/text/doc-files/api.html"
31
/> is used for accessing editor-related functionality from within the IDE
32
for use by other modules and the core IDE itself. 
31
</answer>
33
</answer>
32
34
33
35
Lines 58-71 Link Here
58
-->
60
-->
59
<answer id="compat-standards">
61
<answer id="compat-standards">
60
The module uses <a href="http://java.sun.com/j2se/1.4/docs/api/javax/swing/text/package-summary.html">Swing text package</a>.
62
The module uses <a href="http://java.sun.com/j2se/1.4/docs/api/javax/swing/text/package-summary.html">Swing text package</a>.
61
It extends it in <a href="http://www.netbeans.org/download/apis/org/openide/text/NbDocument.html">NbDocument</a> class which adds
63
It extends it in <a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/text/NbDocument.html">NbDocument</a> class which adds
62
support for:
64
support for:
63
<ul>
65
<ul>
64
<li><a href="http://www.netbeans.org/download/apis/org/openide/text/NbDocument.WriteLockable.html">locking document for complex modifications</a></li>
66
<li><a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/text/NbDocument.WriteLockable.html">locking document for complex modifications</a></li>
65
<li><a href="http://www.netbeans.org/download/apis/org/openide/text/NbDocument.Printable.html">styled text printing</a></li>
67
<li><a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/text/NbDocument.Printable.html">styled text printing</a></li>
66
<li><a href="http://www.netbeans.org/download/apis/org/openide/text/NbDocument.PositionBiasable.html">holding and working with biased positions</a></li>
68
<li><a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/text/NbDocument.PositionBiasable.html">holding and working with biased positions</a></li>
67
<li><a href="http://www.netbeans.org/download/apis/org/openide/text/NbDocument.CustomEditor.html">adding of special UI components to their Editor pane</a></li>
69
<li><a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/text/NbDocument.CustomEditor.html">adding of special UI components to their Editor pane</a></li>
68
<li><a href="http://www.netbeans.org/download/apis/org/openide/text/NbDocument.Annotatable.html">annotations</a></li>
70
<li><a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/text/NbDocument.Annotatable.html">annotations</a></li>
69
</ul>
71
</ul>
70
</answer>
72
</answer>
71
73
Lines 136-193 Link Here
136
<ul>
138
<ul>
137
<li>
139
<li>
138
    <api 
140
    <api 
139
        name="nodes"
141
        name="Nodes API"
142
        group="java"
140
        type="import"
143
        type="import"
141
        category="stable"
144
        category="official"
142
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"
145
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"
143
    />
146
    />
144
</li>
147
</li>
145
<li>
148
<li>
146
    <api 
149
    <api 
147
        name="actions"
150
        name="Actions API"
151
        group="java"
148
        type="import"
152
        type="import"
149
        category="stable"
153
        category="official"
150
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/actions/doc-files/api.html"
154
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/actions/doc-files/api.html"
151
    />
155
    />
152
</li>
156
</li>
153
<li>
157
<li>
154
    <api 
158
    <api 
155
        name="filesystems"
159
        name="Filesystems API"
156
        type="import"
160
        type="import"
157
        category="stable"
161
        group="java"
162
        category="official"
158
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"
163
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"
159
    />
164
    />
160
</li>
165
</li>
161
<li>
166
<li>
162
    <api 
167
    <api 
163
        name="datasystems"
168
        name="Loaders API"
169
        group="java"
164
        type="import"
170
        type="import"
165
        category="stable"
171
        category="official"
166
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"
172
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"
167
    />
173
    />
168
</li>
174
</li>
169
<li>
175
<li>
170
    <api 
176
    <api 
171
        name="utilities"
177
        name="Utilities API"
178
        group="java"
172
        type="import"
179
        type="import"
173
        category="stable"
180
        category="official"
174
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"
181
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"
175
    />
182
    />
176
</li>
183
</li>
177
<li>
184
<li>
178
    <api 
185
    <api 
179
        name="settings"
186
        name="Settings API"
187
        group="java"
180
        type="import"
188
        type="import"
181
        category="stable"
189
        category="official"
182
        url="http://www.netbeans.org/download/apis/org/openide/doc-files/services-api.html#settings"
190
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/services-api.html#settings"
183
    />
191
    />
184
</li>
192
</li>
185
<li>
193
<li>
186
    <api 
194
    <api 
187
        name="windowsystem"
195
        name="WindowSystem API"
196
        group="java"
188
        type="import"
197
        type="import"
189
        category="stable"
198
        category="official"
190
        url="http://www.netbeans.org/download/apis/org/openide/windows/doc-files/api.html"
199
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/windows/doc-files/api.html"
191
    />
200
    />
192
</li>
201
</li>
193
</ul>
202
</ul>
Lines 340-352 Link Here
340
<answer id="exec-component">
349
<answer id="exec-component">
341
The module can be influencend by this property:
350
The module can be influencend by this property:
342
<property name="indentEngine" category="stable" >
351
<property name="indentEngine" category="stable" >
343
Property hold instance of <a href="http://www.netbeans.org/download/apis/org/openide/text/IndentEngine.html">IndentEngine</a>
352
Property hold instance of <a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/text/IndentEngine.html">IndentEngine</a>
344
and this indentation engine is used instead of system one.
353
and this indentation engine is used instead of system one.
345
</property>
354
</property>
346
355
347
It set these Swing properties:
356
It set these Swing properties:
348
<property name="javax.swing.text.Document.StreamDescriptionProperty" category="stable" >
357
<property name="javax.swing.text.Document.StreamDescriptionProperty" category="stable" >
349
Property hold instance of <a href="http://www.netbeans.org/download/apis/org/openide/loaders/DataObject.html">DataObject</a>
358
Property hold instance of <a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/DataObject.html">DataObject</a>
350
from which the document was created. This property can be used by the modules and is part of the Editor API.
359
from which the document was created. This property can be used by the modules and is part of the Editor API.
351
</property>
360
</property>
352
361
Lines 412-418 Link Here
412
        </question>
421
        </question>
413
-->
422
-->
414
<answer id="exec-reflection">
423
<answer id="exec-reflection">
415
Yes, it calls protected method <a href="http://www.netbeans.org/download/apis/org/openide/loaders/MultiDataObject.html#getCookieSet()">MultiDataObject.getCookieSet()</a>.
424
Yes, it calls protected method <a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/MultiDataObject.html#getCookieSet()">MultiDataObject.getCookieSet()</a>.
416
The class which calls this is deprecated, but it is still in use by clients.
425
The class which calls this is deprecated, but it is still in use by clients.
417
</answer>
426
</answer>
418
427
Lines 470-476 Link Here
470
        </question>
479
        </question>
471
-->
480
-->
472
<answer id="lookup-lookup">
481
<answer id="lookup-lookup">
473
Yes, it looks for <a href="http://www.netbeans.org/download/apis/org/openide/text/IndentEngine.html">IndentEngine</a> service type class. This class is defined in 
482
Yes, it looks for <a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/text/IndentEngine.html">IndentEngine</a> service type class. This class is defined in 
474
this module. The first one indentation engine found for the given MIME is returned. 
483
this module. The first one indentation engine found for the given MIME is returned. 
475
Others are ignored.
484
Others are ignored.
476
</answer>
485
</answer>
Lines 587-593 Link Here
587
        </question>
596
        </question>
588
-->
597
-->
589
<answer id="perf-progress">
598
<answer id="perf-progress">
590
Opening of document. It is done in <a href="http://www.netbeans.org/download/apis/org/openide/util/RequestProcessor.html">RequestProcessor</a>.
599
Opening of document. It is done in <a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/RequestProcessor.html">RequestProcessor</a>.
591
</answer>
600
</answer>
592
601
593
602
Lines 725-735 Link Here
725
<answer id="exec-introspection">
734
<answer id="exec-introspection">
726
The Editor module operate with plain Swing <a href="http://java.sun.com/j2se/1.4/docs/api/javax/swing/text/Document.html">Document</a> in 
735
The Editor module operate with plain Swing <a href="http://java.sun.com/j2se/1.4/docs/api/javax/swing/text/Document.html">Document</a> in 
727
its APIs and checks whether the document does not implement some of the Netbeans extensions defined in
736
its APIs and checks whether the document does not implement some of the Netbeans extensions defined in
728
<a href="http://www.netbeans.org/download/apis/org/openide/text/NbDocument.html">NbDocument</a>.
737
<a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/text/NbDocument.html">NbDocument</a>.
729
It also tries to retype <a href="http://www.netbeans.org/download/apis/org/openide/windows/CloneableTopComponent.Ref.html#getComponents()">CloneableTopComponent.Ref.getComponents()</a>
738
It also tries to retype <a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/windows/CloneableTopComponent.Ref.html#getComponents()">CloneableTopComponent.Ref.getComponents()</a>
730
to its <a href="http://www.netbeans.org/download/apis/org/openide/text/CloneableEditor.html">CloneableEditor</a>. If some document does not implement 
739
to its <a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/text/CloneableEditor.html">CloneableEditor</a>. If some document does not implement 
731
<a href="http://java.sun.com/j2se/1.4/docs/api/javax/swing/text/StyledDocument.html">StyledDocument</a>,
740
<a href="http://java.sun.com/j2se/1.4/docs/api/javax/swing/text/StyledDocument.html">StyledDocument</a>,
732
it is wrapped into <a href="http://www.netbeans.org/download/apis/org/openide/text/FilterDocument.html">FilterDocument</a> which implements limited StyledDocument functionality.
741
it is wrapped into <a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/text/FilterDocument.html">FilterDocument</a> which implements limited StyledDocument functionality.
733
</answer>
742
</answer>
734
743
735
<!--
744
<!--
(-)openide/arch/arch-openide-execution.xml (-10 / +13 lines)
Lines 4-11 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.7 $" date="$date$"
7
  version="$Revision: 1.11 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="Execution"
9
  module="Execution"
10
  author="dstrupl@netbeans.org"
10
  author="dstrupl@netbeans.org"
11
>
11
>
Lines 25-38 Link Here
25
-->
25
-->
26
<answer id="arch-what">
26
<answer id="arch-what">
27
The IDE uses a small interface to describe the execution of Java-based
27
The IDE uses a small interface to describe the execution of Java-based
28
classes together with arguments. The Execution API controls the execution
28
classes together with arguments. The 
29
<api name="Execution API" url="http://www.netbeans.org/download/dev/javadoc/ExecutionAPI/org/openide/execution/doc-files/api.html"
30
  type="export" category="official"
31
/>
32
controls the execution
29
of user-level classes. The system may have several different types
33
of user-level classes. The system may have several different types
30
of executors simultaneously installed. By default we provide so called
34
of executors simultaneously installed. By default we provide so called
31
External Execution for running a user code by an external process and
35
External Execution for running a user code by an external process and
32
Internal Execution for running the user code in the same virtual machine
36
Internal Execution for running the user code in the same virtual machine
33
as the IDE.
37
as the IDE.
34
<p></p>
38
35
<a href="http://www.netbeans.org/download/apis/org/openide/execution/doc-files/api.html">Specification</a>
36
</answer>
39
</answer>
37
40
38
41
Lines 122-129 Link Here
122
        </question>
125
        </question>
123
-->
126
-->
124
<answer id="dep-nb">
127
<answer id="dep-nb">
125
<api name="Options" type="import" category="official" url="http://www.netbeans.org/download/apis/org/openide/options/doc-files/api.html"/>;
128
<api name="Settings API" group="java" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/options/doc-files/api.html"/>;
126
<api name="Window system" type="import" category="official" url="http://www.netbeans.org/download/apis/org/openide/windows/doc-files/api.html"/>
129
<api name="WindowSystem API" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/windows/doc-files/api.html"/>
127
</answer>
130
</answer>
128
131
129
132
Lines 327-337 Link Here
327
330
328
<property name="Env-" category="private" />
331
<property name="Env-" category="private" />
329
332
330
<property name="java.home" category="public" />
333
<property name="java.home" category="standard" />
331
334
332
<property name="jdk.home" category="public" />
335
<property name="jdk.home" category="standard" />
333
336
334
<property name="java.class.path" category="public" />
337
<property name="java.class.path" category="standard" />
335
338
336
<property name="sun.boot.class.path" category="private" />
339
<property name="sun.boot.class.path" category="private" />
337
340
(-)openide/arch/arch-openide-explorer.xml (-26 / +33 lines)
Lines 4-13 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.5 $" date="$date$"
7
  version="$Revision: 1.13 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="Explorer API"
9
  module="Explorer API"
10
  author="jrehtacek@netbeans.org"
10
  author="jrechtacek@netbeans.org"
11
>
11
>
12
12
13
  &api-questions;
13
  &api-questions;
Lines 27-40 Link Here
27
27
28
    The 
28
    The 
29
    <api 
29
    <api 
30
        type="export" name="Explorer API" category="official" 
30
        type="export" name="Explorer API" group="java" category="official" 
31
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/explorer/doc-files/api.html" 
31
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/explorer/doc-files/api.html" 
32
    />
32
    />
33
    is build around Explorer - solely a user-interface device: it has no particular knowledge 
33
    is build around Explorer - solely a user-interface device: it has no particular knowledge 
34
    of the structure of the IDE. Rather, it provides the physical user interface for 
34
    of the structure of the IDE. Rather, it provides the physical user interface for 
35
    the Node hierarchy, as described in the 
35
    the Node hierarchy, as described in the 
36
    <api 
36
    <api 
37
        type="import" name="Nodes API" category="official" 
37
        type="import" name="Nodes API" group="java" category="official" 
38
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html" 
38
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html" 
39
    />.
39
    />.
40
40
Lines 138-145 Link Here
138
<answer id="dep-nb">
138
<answer id="dep-nb">
139
The project needs <a href="#api-Nodes API">Nodes API</a> and 
139
The project needs <a href="#api-Nodes API">Nodes API</a> and 
140
    <api 
140
    <api 
141
        type="import" name="Utilities API" category="official" 
141
        type="import" group="java" name="Utilities API" category="official" 
142
        url="openide-utilities.html" 
142
        url="file:///home.local/jarda/src/arc/platform/javadoc/OpenAPIs/org/openide/util/doc-files/api.html" 
143
    /> 
143
    /> 
144
which are essential for it to run. Beyond that it uses runtime 
144
which are essential for it to run. Beyond that it uses runtime 
145
checks for presence of other APIs (PENDING) to use their 
145
checks for presence of other APIs (PENDING) to use their 
Lines 263-269 Link Here
263
        </question>
263
        </question>
264
-->
264
-->
265
<answer id="exec-classloader">
265
<answer id="exec-classloader">
266
No answer
266
No.
267
</answer>
267
</answer>
268
268
269
269
Lines 284-290 Link Here
284
        </question>
284
        </question>
285
-->
285
-->
286
<answer id="exec-component">
286
<answer id="exec-component">
287
No answer
287
No.
288
</answer>
288
</answer>
289
289
290
290
Lines 302-308 Link Here
302
        </question>
302
        </question>
303
-->
303
-->
304
<answer id="exec-introspection">
304
<answer id="exec-introspection">
305
No answer
305
Also <code>TreeTableView</code> offers sort by the values of explored properties if type
306
of value implements <code>Comparable</code> interface, it's based on semi-private API
307
<api name="TreeTableView Sorting API" type="export" category="friend" url=""/>.
306
</answer>
308
</answer>
307
309
308
310
Lines 318-324 Link Here
318
        </question>
320
        </question>
319
-->
321
-->
320
<answer id="exec-privateaccess">
322
<answer id="exec-privateaccess">
321
No answer
323
No.
322
</answer>
324
</answer>
323
325
324
326
Lines 334-340 Link Here
334
        </question>
336
        </question>
335
-->
337
-->
336
<answer id="exec-process">
338
<answer id="exec-process">
337
No answer
339
No.
338
</answer>
340
</answer>
339
341
340
342
Lines 357-363 Link Here
357
        </question>
359
        </question>
358
-->
360
-->
359
<answer id="exec-property">
361
<answer id="exec-property">
360
No answer
362
Views check JDK version, e.g. Drag &amp; Drop support is enabled only on JDK 1.4 or higher.
361
</answer>
363
</answer>
362
364
363
365
Lines 373-379 Link Here
373
        </question>
375
        </question>
374
-->
376
-->
375
<answer id="exec-reflection">
377
<answer id="exec-reflection">
376
No answer
378
Yes, <code>TreeView</code> calls via reflection to openide's Window System API
379
and to Actions API to allow use Explorer API as standalone library.
377
</answer>
380
</answer>
378
381
379
382
Lines 434-440 Link Here
434
        </question>
437
        </question>
435
-->
438
-->
436
<answer id="lookup-lookup">
439
<answer id="lookup-lookup">
437
No answer
440
Yes, it does. There is searched for <code>java.awt.datatransfer.Clipboard.class</code>
441
(to obtain clipboard for cut/cope/paste operations),
442
for <code>org.openide.actions.ActionManager</code> (to process an action in separate
443
thread) and for registry of all top components.
444
A presence these object are not forced, system can work w/o them.
438
</answer>
445
</answer>
439
446
440
447
Lines 449-455 Link Here
449
        </question>
456
        </question>
450
-->
457
-->
451
<answer id="lookup-register">
458
<answer id="lookup-register">
452
No answer
459
No.
453
</answer>
460
</answer>
454
461
455
462
Lines 464-470 Link Here
464
        </question>
471
        </question>
465
-->
472
-->
466
<answer id="lookup-remove">
473
<answer id="lookup-remove">
467
No answer
474
No.
468
</answer>
475
</answer>
469
476
470
477
Lines 475-481 Link Here
475
        </question>
482
        </question>
476
-->
483
-->
477
<answer id="perf-exit">
484
<answer id="perf-exit">
478
No answer
485
No.
479
</answer>
486
</answer>
480
487
481
488
Lines 487-493 Link Here
487
        </question>
494
        </question>
488
-->
495
-->
489
<answer id="perf-huge_dialogs">
496
<answer id="perf-huge_dialogs">
490
No answer
497
No, only the small dialogs, e.g. Rename, Navigator, etc.
491
</answer>
498
</answer>
492
499
493
500
Lines 499-505 Link Here
499
        </question>
506
        </question>
500
-->
507
-->
501
<answer id="perf-limit">
508
<answer id="perf-limit">
502
No answer
509
No.
503
</answer>
510
</answer>
504
511
505
512
Lines 565-571 Link Here
565
        </question>
572
        </question>
566
-->
573
-->
567
<answer id="perf-startup">
574
<answer id="perf-startup">
568
No answer
575
No.
569
</answer>
576
</answer>
570
577
571
578
Lines 577-583 Link Here
577
        </question>
584
        </question>
578
-->
585
-->
579
<answer id="perf-wakeup">
586
<answer id="perf-wakeup">
580
No answer
587
No.
581
</answer>
588
</answer>
582
589
583
590
Lines 596-602 Link Here
596
        </question>
603
        </question>
597
-->
604
-->
598
<answer id="resources-file">
605
<answer id="resources-file">
599
No answer
606
No.
600
</answer>
607
</answer>
601
608
602
609
Lines 617-623 Link Here
617
        </question>
624
        </question>
618
-->
625
-->
619
<answer id="resources-layer">
626
<answer id="resources-layer">
620
No answer
627
No.
621
</answer>
628
</answer>
622
629
623
630
Lines 636-642 Link Here
636
        </question>
643
        </question>
637
-->
644
-->
638
<answer id="resources-mask">
645
<answer id="resources-mask">
639
No answer
646
No.
640
</answer>
647
</answer>
641
648
642
649
Lines 654-660 Link Here
654
        </question>
661
        </question>
655
-->
662
-->
656
<answer id="resources-read">
663
<answer id="resources-read">
657
No answer
664
No.
658
</answer>
665
</answer>
659
666
660
</api-answers>
667
</api-answers>
(-)openide/arch/arch-openide-filesystems.xml (-10 / +45 lines)
Lines 4-12 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.10 $" date="$date$"
7
  version="$Revision: 1.15 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="FileSystems"
9
  module="Filesystems"
10
  author="rmatous@netbeans.org"
10
  author="rmatous@netbeans.org"
11
>
11
>
12
12
Lines 58-64 Link Here
58
        </question>
58
        </question>
59
-->
59
-->
60
<answer id="compat-standards">
60
<answer id="compat-standards">
61
It defines and implements the FileSystems API. 
61
It defines and implements the 
62
<api 
63
    name="Filesystems API" type="export" category="official" 
64
    url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html" 
65
/> 
62
</answer>
66
</answer>
63
67
64
68
Lines 125-140 Link Here
125
<answer id="dep-nb">
129
<answer id="dep-nb">
126
<ul>
130
<ul>
127
    <li><api 
131
    <li><api 
128
        name="utilities"
132
        name="Utilities API"
133
        group="java"
129
        type="import"
134
        type="import"
130
        category="official"
135
        category="official"
131
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"
136
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"
132
    /></li>
137
    /></li>
133
    <li><api 
138
    <li><api 
134
        name="lookup"
139
        name="Lookup API"
140
        group="java"
135
        type="import"
141
        type="import"
136
        category="official"
142
        category="official"
137
        url="http://www.netbeans.org/download/apis/org/openide/doc-files/services-api.html"
143
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/services-api.html"
138
    /></li>    
144
    /></li>    
139
</ul>
145
</ul>
140
</answer>
146
</answer>
Lines 193-199 Link Here
193
        </question>
199
        </question>
194
-->
200
-->
195
<answer id="deploy-jar">
201
<answer id="deploy-jar">
196
FileSystems API and SPI  is part of  <samp>openide.jar</samp>. 
202
Filesystems API and SPI  is part of  <samp>openide.jar</samp>. 
197
</answer>
203
</answer>
198
204
199
205
Lines 248-253 Link Here
248
As part of openide.jar needs to be in the system directory. 
254
As part of openide.jar needs to be in the system directory. 
249
</answer>
255
</answer>
250
256
257
<!--
258
        <question id="exec-introspection">
259
            Does your module use any kind of runtime type information (<code>instanceof</code>,
260
            work with <code>java.lang.Class</code>, etc.)?
261
            <hint>
262
            Check for cases when you have an object of type A and you also
263
            expect it to (possibly) be of type B and do some special action. That
264
            should be documented. The same applies on operations in meta-level
265
            (Class.isInstance(...), Class.isAssignableFrom(...), etc.).
266
            </hint>
267
        </question>
268
-->
269
<answer id="exec-introspection">
270
No answer
271
</answer>
272
273
<!--
274
        <question id="exec-process">
275
            Do you execute an external process from your module? How do you ensure
276
            that the result is the same on different platforms? Do you parse output?
277
            Do you depend on result code?
278
            <hint>
279
            If you feed an input, parse the output please declare that as an API.
280
            </hint>
281
        </question>
282
-->
283
<answer id="exec-process">
284
No external process.
285
</answer>
251
286
252
287
253
<!-- Question: exec-classloader
288
<!-- Question: exec-classloader
Lines 391-398 Link Here
391
-->
426
-->
392
<answer id="format-types">
427
<answer id="format-types">
393
<ul>
428
<ul>
394
<li><a href="http://www.netbeans.org/dtds/attributes-1_0.dtd"><code>"-//NetBeans//DTD DefaultAttributes 1.0//EN"</code></a></li>
429
<li><api group="dtd" category="stable" type="export" name="-//NetBeans//DTD DefaultAttributes 1.0//EN" url="http://www.netbeans.org/dtds/attributes-1_0.dtd" /></li>
395
<li><a href="http://www.netbeans.org/dtds/filesystem-1_0.dtd"><code>"-//NetBeans//DTD Filesystem 1.0//EN"</code></a></li>           
430
<li><api group="dtd" category="stable" type="export" name="-//NetBeans//DTD Filesystem 1.0//EN" url="http://www.netbeans.org/dtds/filesystem-1_0.dtd" /></li>
396
</ul>
431
</ul>
397
</answer>
432
</answer>
398
433
(-)openide/arch/arch-openide-io.xml (-5 / +7 lines)
Lines 4-12 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.8 $" date="$date$"
7
  version="$Revision: 1.11 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="Input/Output API"
9
  module="Input/Output System"
10
  author="jglick@netbeans.org"
10
  author="jglick@netbeans.org"
11
>
11
>
12
12
Lines 29-34 Link Here
29
driving the Output Window. The normal implementation is <samp>core-output.jar</samp>.
29
driving the Output Window. The normal implementation is <samp>core-output.jar</samp>.
30
<api 
30
<api 
31
    name="Input/Output API"
31
    name="Input/Output API"
32
    group="java"
32
    type="export"
33
    type="export"
33
    category="official"
34
    category="official"
34
    url="http://www.netbeans.org/download/dev/javadoc/InputOutputAPI/org/openide/windows/package-summary.html"
35
    url="http://www.netbeans.org/download/dev/javadoc/InputOutputAPI/org/openide/windows/package-summary.html"
Lines 123-130 Link Here
123
-->
124
-->
124
    <answer id="dep-nb">
125
    <answer id="dep-nb">
125
        <ul>
126
        <ul>
126
            <li><api name="utilities" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"/></li>
127
            <li><api name="Utilities API" group="java" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"/></li>
127
            <li><api name="Window system implementation API" type="import" category="friend" url=""/></li>
128
            <li><api name="WindowSystem Implementation API" group="java" type="import" category="friend" url=""/></li>
129
            <li><api name="Terminal Emulator API" group="java" type="import" category="devel" url="http://www.netbeans.org/download/dev/javadoc/TerminalEmulatorAPI/index.html"/></li>
128
        </ul>
130
        </ul>
129
    </answer>
131
    </answer>
130
132
(-)openide/arch/arch-openide-lookup.xml (-13 / +17 lines)
Lines 4-11 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.11 $" date="$date$"
7
  version="$Revision: 1.14 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="Lookup"
9
  module="Lookup"
10
  author="jtulach@netbeans.org"
10
  author="jtulach@netbeans.org"
11
>
11
>
Lines 66-74 Link Here
66
  url="http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html#Provider%20Configuration%20File"
66
  url="http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html#Provider%20Configuration%20File"
67
/>
67
/>
68
but enhances it to also support the 
68
but enhances it to also support the 
69
<a href="http://www.netbeans.org/issues/show_bug.cgi?id=25988">removal</a>. So a module can easily remove
69
<api 
70
object registered by another one. Removal is a line starting with <code>#-</code> which in the
70
  name="Provider Registration Removal" 
71
original standard means comment thus this is backward compatible with the standard.
71
  type="export" 
72
  category="devel" 
73
  url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/services-api.html#service-lookup"
74
/>. 
72
</answer>
75
</answer>
73
76
74
77
Lines 233-241 Link Here
233
-->
236
-->
234
<answer id="deploy-packages">
237
<answer id="deploy-packages">
235
No. But that is not necesssary. The only packages lookup uses are 
238
No. But that is not necesssary. The only packages lookup uses are 
236
<api name="Lookup API" type="export" category="official" url="http://openide.netbeans.org/lookup/lookup-api.html" />
239
<api name="Lookup API" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/services-api.html#lookup">
240
    Additional info can be found at <a href="http://openide.netbeans.org/lookup/lookup-api.html" />
241
</api>
237
and 
242
and 
238
<api name="Lookup SPI" type="export" category="official" url="http://openide.netbeans.org/lookup/lookup-spi.html" />
243
<api name="Lookup SPI" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/lookup/package-frame.html">
244
    Additional info can be found at <a href="http://openide.netbeans.org/lookup/lookup-spi.html" />
245
</api>
239
and both contain official interfaces, no need to hide packages.
246
and both contain official interfaces, no need to hide packages.
240
</answer>
247
</answer>
241
248
Lines 305-314 Link Here
305
        </question>
312
        </question>
306
-->
313
-->
307
<answer id="exec-privateaccess">
314
<answer id="exec-privateaccess">
308
Yes. Core uses reflection to call 
315
None, I am aware of.
309
<api name="org.openide.util.MetaInfServicesLookup" type="export" category="private" url="http://www.netbeans.org/issues/show_bug.cgi?id=29126"/>
310
constructor. But as core and openide is tight together and bundled in one NBM, 
311
that is managable.
312
</answer>
316
</answer>
313
317
314
318
Lines 369-375 Link Here
369
-->
373
-->
370
<answer id="exec-reflection">
374
<answer id="exec-reflection">
371
The <code>MetaInfServicesLookup</code> invokes default constructor for 
375
The <code>MetaInfServicesLookup</code> invokes default constructor for 
372
classes which names it finds in <code>META-INF/services/...</code> files.
376
classes those names it finds in <code>META-INF/services/...</code> files.
373
</answer>
377
</answer>
374
378
375
379
Lines 547-553 Link Here
547
        </question>
551
        </question>
548
-->
552
-->
549
<answer id="perf-progress">
553
<answer id="perf-progress">
550
The default implemntation of lookup just reads the <code>META-INF/services</code>
554
The default implementation of lookup just reads the <code>META-INF/services</code>
551
files provided by classloader - the speed depends on the classloader, but usually
555
files provided by classloader - the speed depends on the classloader, but usually
552
these files are on filesystem and thus should be fast. Also the lookup invokes
556
these files are on filesystem and thus should be fast. Also the lookup invokes
553
default constructors of registered classes, the speed depends on the amount of
557
default constructors of registered classes, the speed depends on the amount of
(-)openide/arch/arch-openide-modules.xml (-11 / +11 lines)
Lines 4-12 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.9 $" date="$date$"
7
  version="$Revision: 1.14 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="Modules API"
9
  module="Modules"
10
  author="jglick@netbeans.org"
10
  author="jglick@netbeans.org"
11
>
11
>
12
12
Lines 26-32 Link Here
26
<answer id="arch-what">
26
<answer id="arch-what">
27
The Modules API lies at the core of NetBeans and describes how plug-in
27
The Modules API lies at the core of NetBeans and describes how plug-in
28
modules are added and managed.
28
modules are added and managed.
29
<api name="Modules API" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/modules/doc-files/api.html"/>
29
<api name="Modules API" group="java" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/modules/doc-files/api.html"/>
30
</answer>
30
</answer>
31
31
32
32
Lines 120-128 Link Here
120
        </question>
120
        </question>
121
-->
121
-->
122
<answer id="dep-nb">
122
<answer id="dep-nb">
123
<api name="utilities" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"/>
123
<api name="Utilities API" group="java" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"/>
124
And in the implementation only:
124
And in the implementation only:
125
<api name="filesystems" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"/>
125
<api name="Filesystems API" group="java" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"/>
126
</answer>
126
</answer>
127
127
128
128
Lines 214-227 Link Here
214
    <answer id="deploy-packages">
214
    <answer id="deploy-packages">
215
        <p>
215
        <p>
216
            The entire API is one public package.
216
            The entire API is one public package.
217
            <api name="Modules API" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/modules/doc-files/api.html"/>
217
            <api name="Modules API" group="java" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/modules/doc-files/api.html"/>
218
        </p>
218
        </p>
219
        <p>
219
        <p>
220
            The implementation is in another package and is not considered
220
            The implementation is in another package and is not considered
221
            public, though it is made available to <code>autoupdate</code> and
221
            public, though it is made available to <code>autoupdate</code> and
222
            <code>apisupport</code> as these special modules deal directly with
222
            <code>apisupport</code> as these special modules deal directly with
223
            the module system at a deeper level than the API provides for.
223
            the module system at a deeper level than the API provides for.
224
            <api name="Core Modules API" type="export" category="friend" url="http://www.netbeans.org/unbranded-source/browse/~checkout~/core/src/org/netbeans/core/modules/package.html"/>
224
            <api name="Core Modules API" group="java" type="export" category="friend" url="http://www.netbeans.org/unbranded-source/browse/~checkout~/core/src/org/netbeans/core/modules/package.html"/>
225
        </p>
225
        </p>
226
    </answer>
226
    </answer>
227
227
Lines 426-434 Link Here
426
<answer id="format-types">
426
<answer id="format-types">
427
<ul>
427
<ul>
428
<li>Module JAR files, as specified by the Modules API</li>
428
<li>Module JAR files, as specified by the Modules API</li>
429
<li><a href="http://www.netbeans.org/dtds/module-status-1_0.dtd"><code>-//NetBeans//DTD Module Status 1.0//EN</code></a></li>
429
<li><api group="dtd" category="devel" type="export" name="-//NetBeans//DTD Module Status 1.0//EN" url="http://www.netbeans.org/dtds/module-status-1_0.dtd" /></li>
430
<li><a href="http://www.netbeans.org/dtds/module-auto-deps-1_0.dtd"><code>-//NetBeans//DTD Module Automatic Dependencies 1.0//EN</code></a></li>
430
<li><api group="dtd" category="devel" type="export" name="-//NetBeans//DTD Module Automatic Dependencies 1.0//EN" url="http://www.netbeans.org/dtds/module-auto-deps-1_0.dtd" /></li>
431
<li><a href="http://www.netbeans.org/dtds/filesystem-1_1.dtd"><code>-//NetBeans//DTD Filesystem 1.1//EN</code></a></li>
431
<li><api group="dtd" category="stable" type="export" name="-//NetBeans//DTD Filesystem 1.1//EN" url="http://www.netbeans.org/dtds/filesystem-1_1.dtd" /></li>
432
<li>a custom binary format for caching merged layer contents</li>
432
<li>a custom binary format for caching merged layer contents</li>
433
<li>a custom binary format for caching module manifests</li>
433
<li>a custom binary format for caching module manifests</li>
434
<li>a custom binary (serialized) format for caching folder lookup</li>
434
<li>a custom binary (serialized) format for caching folder lookup</li>
(-)openide/arch/arch-openide-nodes.xml (-6 / +47 lines)
Lines 4-12 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.5 $" date="$date$"
7
  version="$Revision: 1.11 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="Nodes API"
9
  module="Nodes"
10
  author="phrebejk@netbeans.org"
10
  author="phrebejk@netbeans.org"
11
>
11
>
12
12
Lines 129-135 Link Here
129
        </question>
129
        </question>
130
-->
130
-->
131
<answer id="dep-nb">
131
<answer id="dep-nb">
132
<api name="utilities" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"/>
132
<api name="Utilities API" group="java" type="import" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"/>
133
</answer>
133
</answer>
134
134
135
135
Lines 223-230 Link Here
223
        </question>
223
        </question>
224
-->
224
-->
225
<answer id="deploy-packages">
225
<answer id="deploy-packages">
226
Nodes API is a public package.
226
<api name="Nodes API" group="java" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"/>
227
<api name="nodes" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"/>
227
is a public package.
228
</answer>
228
</answer>
229
229
230
230
Lines 671-674 Link Here
671
No
671
No
672
</answer>
672
</answer>
673
673
674
<!--
675
        <question id="exec-introspection">
676
            Does your module use any kind of runtime type information (<code>instanceof</code>,
677
            work with <code>java.lang.Class</code>, etc.)?
678
            <hint>
679
            Check for cases when you have an object of type A and you also
680
            expect it to (possibly) be of type B and do some special action. That
681
            should be documented. The same applies on operations in meta-level
682
            (Class.isInstance(...), Class.isAssignableFrom(...), etc.).
683
            </hint>
684
        </question>
685
-->
686
<answer id="exec-introspection">
687
Yes. 
688
<ul>
689
<li>instanceof: 37 occurences</li>
690
<li>isAssgnableFrom: 5 occurences</li>
691
<li>isInstance: 3 occurences</li>
692
</ul>
693
</answer>
694
695
696
697
<!--
698
        <question id="exec-process">
699
            Do you execute an external process from your module? How do you ensure
700
            that the result is the same on different platforms? Do you parse output?
701
            Do you depend on result code?
702
            <hint>
703
            If you feed an input, parse the output please declare that as an API.
704
            </hint>
705
        </question>
706
-->
707
<answer id="exec-process">
708
No
709
</answer>
710
711
674
</api-answers>
712
</api-answers>
713
714
715
(-)openide/arch/arch-openide-propertysheet.xml (-2 / +2 lines)
Lines 4-11 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.7 $" date="$date$"
7
  version="$Revision: 1.8 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="PropertySheet API"
9
  module="PropertySheet API"
10
  author="tboudreau@netbeans.org"
10
  author="tboudreau@netbeans.org"
11
>
11
>
(-)openide/arch/arch-openide-settings.xml (-22 / +59 lines)
Lines 4-12 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.7 $" date="$date$"
7
  version="$Revision: 1.13 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="settings"
9
  module="Settings"
10
  author="rmatous@netbeans.org"
10
  author="rmatous@netbeans.org"
11
>
11
>
12
12
Lines 32-42 Link Here
32
Service type can be desribed as typed a named settings.
32
Service type can be desribed as typed a named settings.
33
<ul>
33
<ul>
34
<li>
34
<li>
35
<api name="Settings" type="export" category="official" url="http://www.netbeans.org/download/apis/org/openide/doc-files/services-api.html#settings" />
35
<api name="Settings API" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/services-api.html#settings" />
36
</li><li>
36
</li><li>
37
<api name="Service Types" type="export" category="official" url="http://www.netbeans.org/download/apis/org/openide/doc-files/services-api.html#create" />
37
<api name="Service Types API" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/services-api.html#create" />
38
</li><li>
38
</li><li>
39
<api name="SystemOptions" type="export" category="official" url="http://www.netbeans.org/download/apis/org/openide/options/doc-files/api.html" />
39
<api name="SystemOptions API" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/options/doc-files/api.html" />
40
</li><li>
40
</li><li>
41
<api name="XML persistence - convertors" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/SettingsAPI/org/netbeans/spi/settings/doc-files/api.html" />
41
<api name="XML persistence - convertors" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/SettingsAPI/org/netbeans/spi/settings/doc-files/api.html" />
42
</li>
42
</li>
Lines 139-145 Link Here
139
<ul>
139
<ul>
140
<li>
140
<li>
141
    <api 
141
    <api 
142
        name="filesystems"
142
        name="Filesystems API"
143
        type="import"
143
        type="import"
144
        category="official"
144
        category="official"
145
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"
145
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"
Lines 147-153 Link Here
147
</li>
147
</li>
148
<li>
148
<li>
149
    <api 
149
    <api 
150
        name="datasystems"
150
        name="Loaders API"
151
        type="import"
151
        type="import"
152
        category="official"
152
        category="official"
153
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"
153
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"
Lines 155-161 Link Here
155
</li>
155
</li>
156
<li>
156
<li>
157
    <api 
157
    <api 
158
        name="utilities"
158
        name="Utilities API"
159
        type="import"
159
        type="import"
160
        category="official"
160
        category="official"
161
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"
161
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"
Lines 163-169 Link Here
163
</li>
163
</li>
164
<li>
164
<li>
165
    <api 
165
    <api 
166
        name="nodes"
166
        name="Nodes API"
167
        type="import"
167
        type="import"
168
        category="official"
168
        category="official"
169
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"
169
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"
Lines 171-177 Link Here
171
</li>
171
</li>
172
<li>
172
<li>
173
    <api 
173
    <api 
174
        name="modules"
174
        name="Modules API"
175
        type="import"
175
        type="import"
176
        category="official"
176
        category="official"
177
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/modules/doc-files/api.html"
177
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/modules/doc-files/api.html"
Lines 276-283 Link Here
276
<code>SystemOption</code>  and <code>ServiceType</code> are publicly accessible.  
276
<code>SystemOption</code>  and <code>ServiceType</code> are publicly accessible.  
277
The settings infrastructure for <code>SystemOptions</code> resides in   <samp>core.jar</samp> 
277
The settings infrastructure for <code>SystemOptions</code> resides in   <samp>core.jar</samp> 
278
and is considered private except <code>InstanceDataObject</code> which is in <samp>openide.jar</samp>, which
278
and is considered private except <code>InstanceDataObject</code> which is in <samp>openide.jar</samp>, which
279
is public. Infrastracture for convertos is in <samp>core-settings.jar</samp> and 
279
is public.  Infrastracture for convertos is in <samp>core-settings.jar</samp> exposes some  packages  explicitly declaring them in manifest, 
280
are private except API and SPI which are considered public.
280
 which means that all other packages are  inaccessible.
281
</answer>
281
</answer>
282
282
283
283
Lines 335-341 Link Here
335
No.
335
No.
336
</answer>
336
</answer>
337
337
338
<!--
339
        <question id="exec-introspection">
340
            Does your module use any kind of runtime type information (<code>instanceof</code>,
341
            work with <code>java.lang.Class</code>, etc.)?
342
            <hint>
343
            Check for cases when you have an object of type A and you also
344
            expect it to (possibly) be of type B and do some special action. That
345
            should be documented. The same applies on operations in meta-level
346
            (Class.isInstance(...), Class.isAssignableFrom(...), etc.).
347
            </hint>
348
        </question>
349
-->
350
<answer id="exec-introspection">
351
No answer
352
</answer>
338
353
354
<!--
355
        <question id="exec-process">
356
            Do you execute an external process from your module? How do you ensure
357
            that the result is the same on different platforms? Do you parse output?
358
            Do you depend on result code?
359
            <hint>
360
            If you feed an input, parse the output please declare that as an API.
361
            </hint>
362
        </question>
363
-->
364
<answer id="exec-process">
365
No external process.
366
</answer>
339
367
340
<!--
368
<!--
341
        
369
        
Lines 364-371 Link Here
364
is used  <code>Lookup</code> to find <code>InstanceCookie</code>. Then method <code>setInstance</code>
392
is used  <code>Lookup</code> to find <code>InstanceCookie</code>. Then method <code>setInstance</code>
365
is invoked on instance of <code>InstanceCookie</code>. This binds instance of setting to setting infrastructure.
393
is invoked on instance of <code>InstanceCookie</code>. This binds instance of setting to setting infrastructure.
366
Which <code>Lookup</code> and then also which <code>InstanceCookie</code> is used depends again on cofiguration.
394
Which <code>Lookup</code> and then also which <code>InstanceCookie</code> is used depends again on cofiguration.
367
</li></ul>
368
<a href="http://www.netbeans.org/download/dev/javadoc/SettingsAPI/org/netbeans/spi/settings/doc-files/api.html">description of  configuration</a>.
395
<a href="http://www.netbeans.org/download/dev/javadoc/SettingsAPI/org/netbeans/spi/settings/doc-files/api.html">description of  configuration</a>.
396
</li>
397
<li>
398
Also org.openide.util.SharedClassObject.reset is called from org.netbeans.modules.settings.convertors.XMLSettingsSupport.SettingsRecognizer.
399
</li>
400
</ul>
369
401
370
402
371
</answer>
403
</answer>
Lines 475-482 Link Here
475
-->
507
-->
476
<answer id="format-types">
508
<answer id="format-types">
477
<ul>
509
<ul>
478
<li><a href="http://www.netbeans.org/dtds/sessionsettings-1_0.dtd"><code>-//NetBeans//DTD Session settings 1.0//EN</code></a></li>
510
<li><api group="dtd" category="stable" type="export" name="-//NetBeans//DTD Session settings 1.0//EN" url="http://www.netbeans.org/dtds/sessionsettings-1_0.dtd" /></li>
479
<li><a href="http://www.netbeans.org/dtds/properties-1_0.dtd"><code>-//NetBeans org.netbeans.modules.settings.examples//DTD XML ProxySettings 1.0//EN</code></a></li>
511
<li><api group="dtd" category="devel" type="export" name="-//NetBeans org.netbeans.modules.settings.examples//DTD XML ProxySettings 1.0//EN" url="http://www.netbeans.org/dtds/properties-1_0.dtd" /></li>
480
</ul>
512
</ul>
481
</answer>
513
</answer>
482
514
Lines 711-726 Link Here
711
        </question>
743
        </question>
712
-->
744
-->
713
<answer id="resources-layer">
745
<answer id="resources-layer">
746
<p></p>
747
Provided layers:
714
<ul>
748
<ul>
715
<li><samp>core-settings.jar  org/netbeans/modules/settings/resources/mf-layer</samp> </li>
749
<li><samp>core-settings.jar  org/netbeans/modules/settings/resources/mf-layer</samp> </li>
716
<li>In <samp>core.jar</samp> in org/netbeans/core/resources/mf-layer.xml</li> 
750
<li>In <samp>core.jar</samp> in org/netbeans/core/resources/mf-layer.xml</li> 
717
</ul>
751
</ul>
718
<p>
752
719
Files or folders provided on layers are described in  
753
<p></p>
720
<a href="http://www.netbeans.org/download/dev/javadoc/SettingsAPI/org/netbeans/spi/settings/doc-files/api.html"> this document</a>.
754
Provided folderes: 
721
There should be mentioned how settings and services are   displayed  to the user as well, which  is covered 
755
<ul>
722
<a href="http://www.netbeans.org/download/apis/org/openide/doc-files/services-api.html#service-mirroring"> here</a>.
756
<li><api name="Runtime instances registry" group="layer" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/SettingsAPI/org/netbeans/spi/settings/doc-files/api.html#use-memory">
723
</p>
757
<b>xml/memory</b>: Associates runtime instance with environment provider. </api><p></p></li>
758
<li><api name="Services display  registry" group="layer" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/services-api.html#service-mirroring">
759
<b>UI/Services</b>: The root folder for displaying options. </api><p></p></li>
760
</ul>
724
</answer>
761
</answer>
725
762
726
763
(-)openide/arch/arch-openide-utilities.xml (-10 / +15 lines)
Lines 4-12 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.4 $" date="$date$"
7
  version="$Revision: 1.9 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="utilities"
9
  module="Utilities"
10
  author="pnejedly@netbeans.org"
10
  author="pnejedly@netbeans.org"
11
>
11
>
12
12
Lines 25-31 Link Here
25
        </question>
25
        </question>
26
-->
26
-->
27
<answer id="arch-what">
27
<answer id="arch-what">
28
Utilities provide: <ul>
28
<api name="Utilities API" category="official" type="export" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html" /> 
29
provides: <ul>
29
 <li>JRE concept wrappers</li>
30
 <li>JRE concept wrappers</li>
30
 <li>Improved UI building classes</li>
31
 <li>Improved UI building classes</li>
31
 <li>Usefull methods that are harder to write correctly in separate modules</li>
32
 <li>Usefull methods that are harder to write correctly in separate modules</li>
Lines 129-153 Link Here
129
<answer id="dep-nb">
130
<answer id="dep-nb">
130
<ul>
131
<ul>
131
    <li><api
132
    <li><api
132
        name="lookup"
133
        name="Lookup API"
134
        group="java"
133
        type="import"
135
        type="import"
134
        category="official"
136
        category="official"
135
        url="http://www.netbeans.org/download/apis/org/openide/doc-files/services-api.html"
137
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/services-api.html"
136
    /></li>
138
    /></li>
137
    <li><api
139
    <li><api
138
        name="filesystems"
140
        name="Filesystems API"
141
        group="java"
139
        type="import"
142
        type="import"
140
        category="official"
143
        category="official"
141
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"
144
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"
142
    /></li>
145
    /></li>
143
    <li><api
146
    <li><api
144
        name="datasystems"
147
        name="Loaders API"
148
        group="java"
145
        type="import"
149
        type="import"
146
        category="official"
150
        category="official"
147
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"
151
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"
148
    /></li>
152
    /></li>
149
    <li><api
153
    <li><api
150
        name="nodes"
154
        name="Nodes API"
155
        group="java"
151
        type="import"
156
        type="import"
152
        category="official"
157
        category="official"
153
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"
158
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"
Lines 681-687 Link Here
681
</ul>
686
</ul>
682
Also, Utilities.translate uses mapping collected across all module ClassLoaders
687
Also, Utilities.translate uses mapping collected across all module ClassLoaders
683
in the text file located in <samp>META-INF/netbeans/translate.names</samp>,
688
in the text file located in <samp>META-INF/netbeans/translate.names</samp>,
684
see <a href="http://www.netbeans.org/download/apis/org/openide/util/Utilities.html#translate(java.lang.String)"
689
see <a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/Utilities.html#translate(java.lang.String)"
685
>Utilities.translate() docs</a>
690
>Utilities.translate() docs</a>
686
</answer>
691
</answer>
687
692
(-)openide/arch/arch-openide-windowsystem.xml (-18 / +90 lines)
Lines 4-11 Link Here
4
]>
4
]>
5
5
6
<api-answers
6
<api-answers
7
  version="$Revision: 1.11 $" date="$date$"
7
  version="$Revision: 1.18 $" date="$date$"
8
  question-version="1.11"
8
  question-version="1.12"
9
  module="Window System"
9
  module="Window System"
10
  author="mslama@netbeans.org"
10
  author="mslama@netbeans.org"
11
>
11
>
Lines 126-132 Link Here
126
<ul>
126
<ul>
127
<li>
127
<li>
128
    <api 
128
    <api 
129
        name="nodes"
129
        name="Nodes API"
130
        type="import"
130
        type="import"
131
        category="official"
131
        category="official"
132
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"
132
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/nodes/doc-files/api.html"
Lines 134-140 Link Here
134
</li>
134
</li>
135
<li>
135
<li>
136
    <api 
136
    <api 
137
        name="actions"
137
        name="Actions API"
138
        type="import"
138
        type="import"
139
        category="official"
139
        category="official"
140
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/actions/doc-files/api.html"
140
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/actions/doc-files/api.html"
Lines 142-148 Link Here
142
</li>
142
</li>
143
<li>
143
<li>
144
    <api 
144
    <api 
145
        name="modules"
145
        name="Modules API"
146
        type="import"
146
        type="import"
147
        category="official"
147
        category="official"
148
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/modules/doc-files/api.html"
148
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/modules/doc-files/api.html"
Lines 150-156 Link Here
150
</li>
150
</li>
151
<li>
151
<li>
152
    <api 
152
    <api 
153
        name="filesystems"
153
        name="Filesystems API"
154
        type="import"
154
        type="import"
155
        category="official"
155
        category="official"
156
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"
156
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/filesystems/doc-files/api.html"
Lines 158-164 Link Here
158
</li>
158
</li>
159
<li>
159
<li>
160
    <api 
160
    <api 
161
        name="datasystems"
161
        name="Loaders API"
162
        type="import"
162
        type="import"
163
        category="official"
163
        category="official"
164
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"
164
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/loaders/doc-files/api.html"
Lines 166-172 Link Here
166
</li>
166
</li>
167
<li>
167
<li>
168
    <api 
168
    <api 
169
        name="utilities"
169
        name="Utilities API"
170
        type="import"
170
        type="import"
171
        category="official"
171
        category="official"
172
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"
172
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/util/doc-files/api.html"
Lines 174-183 Link Here
174
</li>
174
</li>
175
<li>
175
<li>
176
    <api 
176
    <api 
177
        name="settings"
177
        name="Settings API"
178
        type="import"
178
        type="import"
179
        category="official"
179
        category="official"
180
        url="http://www.netbeans.org/download/apis/org/openide/doc-files/services-api.html#settings"
180
        url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/services-api.html#settings"
181
    />
181
    />
182
</li>
182
</li>
183
</ul>
183
</ul>
Lines 276-283 Link Here
276
-->
276
-->
277
<answer id="deploy-packages">
277
<answer id="deploy-packages">
278
No. Window System API contains
278
No. Window System API contains
279
<api name="Window System API" type="export" category="official" url="http://www.netbeans.org/download/apis/overview-summary.html" />.
279
<api name="WindowSystem API" type="export" category="official" url="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/overview-summary.html" />.
280
Some parts of core can use semi-private API <api name="Window System API Implementation" type="export" category="friend" url=""/>.
280
Some parts of core can use semi-private API <api name="WindowSystem Implementation API" type="export" category="friend" url=""/>.
281
</answer>
281
</answer>
282
282
283
283
Lines 443-448 Link Here
443
}. It is planned to export this method it to avoid this.
443
}. It is planned to export this method it to avoid this.
444
</answer>
444
</answer>
445
445
446
<!--
447
        <question id="exec-introspection">
448
            Does your module use any kind of runtime type information (<code>instanceof</code>,
449
            work with <code>java.lang.Class</code>, etc.)?
450
            <hint>
451
            Check for cases when you have an object of type A and you also
452
            expect it to (possibly) be of type B and do some special action. That
453
            should be documented. The same applies on operations in meta-level
454
            (Class.isInstance(...), Class.isAssignableFrom(...), etc.).
455
            </hint>
456
        </question>
457
-->
458
<answer id="exec-introspection">
459
Some window system actions from org.netbeans.core.actions use non API methods
460
from org.netbeans.core.windows.ModeImpl.
461
</answer>
462
463
464
465
<!--
466
        <question id="exec-process">
467
            Do you execute an external process from your module? How do you ensure
468
            that the result is the same on different platforms? Do you parse output?
469
            Do you depend on result code?
470
            <hint>
471
            If you feed an input, parse the output please declare that as an API.
472
            </hint>
473
        </question>
474
-->
475
<answer id="exec-process">
476
No.
477
</answer>
446
478
447
479
448
<!-- Question: format-clipboard
480
<!-- Question: format-clipboard
Lines 483-493 Link Here
483
<answer id="format-types">
515
<answer id="format-types">
484
Module configuration is stored in XML files.
516
Module configuration is stored in XML files.
485
<ul>
517
<ul>
486
<li><a href="http://www.netbeans.org/dtds/windowmanager-properties1_1.dtd"><code>-//NetBeans//DTD Window Manager Properties 1.1//EN</code></a></li>
518
<li>
487
<li><a href="http://www.netbeans.org/dtds/workspace-properties1_1.dtd"><code>-//NetBeans//DTD Workspace Properties 1.1//EN</code></a></li>
519
    <api
488
<li><a href="http://www.netbeans.org/dtds/mode-properties1_2.dtd"><code>-//NetBeans//DTD Mode Properties 1.2//EN</code></a></li>
520
        name="-//NetBeans//DTD Window Manager Properties 1.1//EN"
489
<li><a href="http://www.netbeans.org/dtds/tc_ref1_0.dtd"><code>-//NetBeans//DTD Top Component in Mode Properties 1.0//EN</code></a></li>
521
        type="export"
490
<li><a href="http://www.netbeans.org/dtds/sessionsettings-1_0.dtd"><code>-//NetBeans//DTD Session settings 1.0//EN</code></a></li>
522
        group="dtd"
523
        category="devel"
524
        url="http://www.netbeans.org/dtds/windowmanager-properties1_1.dtd"
525
    />
526
</li>
527
<li>
528
    <api
529
        name="-//NetBeans//DTD Workspace Properties 1.1//EN"
530
        group="dtd"
531
        type="export"
532
        category="devel"
533
        url="http://www.netbeans.org/dtds/workspace-properties1_1.dtd"
534
    />
535
</li>
536
<li>
537
    <api
538
        name="-//NetBeans//DTD Mode Properties 1.2//EN"
539
        group="dtd"
540
        type="export"
541
        category="devel"
542
        url="http://www.netbeans.org/dtds/mode-properties1_2.dtd"
543
    />
544
</li>
545
<li>
546
    <api
547
        name="-//NetBeans//DTD Top Component in Mode Properties 1.0//EN"
548
        group="dtd"
549
        type="export"
550
        category="devel"
551
        url="http://www.netbeans.org/dtds/tc_ref1_0.dtd"
552
    />
553
</li>
554
<li>
555
    <api
556
        name="-//NetBeans//DTD Session settings 1.0//EN"
557
        group="dtd"
558
        type="export"
559
        category="devel"
560
        url="http://www.netbeans.org/dtds/sessionsettings-1_0.dtd"
561
    />
562
</li>
491
</ul>
563
</ul>
492
</answer>
564
</answer>
493
565
Lines 759-765 Link Here
759
<answer id="resources-read">
831
<answer id="resources-read">
760
Module reads its own configuration from its layer and eventualy from other module layers
832
Module reads its own configuration from its layer and eventualy from other module layers
761
if provided. Data have following
833
if provided. Data have following
762
<a href="http://www.netbeans.org/download/apis/org/openide/windows/doc-files/api.html#xml">directory structure</a>.
834
<a href="http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/windows/doc-files/api.html#xml">directory structure</a>.
763
</answer>
835
</answer>
764
836
765
</api-answers>
837
</api-answers>

Return to bug 33120