1.1 --- a/openide.util/apichanges.xml Wed Jan 27 17:46:23 2010 -0500
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,1492 +0,0 @@
1.4 -<?xml version="1.0" encoding="UTF-8"?>
1.5 -<!--
1.6 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
1.7 -
1.8 -Copyright 1997-2009 Sun Microsystems, Inc. All rights reserved.
1.9 -
1.10 -
1.11 -The contents of this file are subject to the terms of either the GNU
1.12 -General Public License Version 2 only ("GPL") or the Common
1.13 -Development and Distribution License("CDDL") (collectively, the
1.14 -"License"). You may not use this file except in compliance with the
1.15 -License. You can obtain a copy of the License at
1.16 -http://www.netbeans.org/cddl-gplv2.html
1.17 -or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
1.18 -specific language governing permissions and limitations under the
1.19 -License. When distributing the software, include this License Header
1.20 -Notice in each file and include the License file at
1.21 -nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
1.22 -particular file as subject to the "Classpath" exception as provided
1.23 -by Sun in the GPL Version 2 section of the License file that
1.24 -accompanied this code. If applicable, add the following below the
1.25 -License Header, with the fields enclosed by brackets [] replaced by
1.26 -your own identifying information:
1.27 -"Portions Copyrighted [year] [name of copyright owner]"
1.28 -
1.29 -Contributor(s):
1.30 -
1.31 -The Original Software is NetBeans. The Initial Developer of the Original
1.32 -Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
1.33 -Microsystems, Inc. All Rights Reserved.
1.34 -
1.35 -If you wish your version of this file to be governed by only the CDDL
1.36 -or only the GPL Version 2, indicate your decision by adding
1.37 -"[Contributor] elects to include this software in this distribution
1.38 -under the [CDDL or GPL Version 2] license." If you do not indicate a
1.39 -single choice of license, a recipient has the option to distribute
1.40 -your version of this file under either the CDDL, the GPL Version 2 or
1.41 -to extend the choice of license to its licensees as provided above.
1.42 -However, if you add GPL Version 2 code and therefore, elected the GPL
1.43 -Version 2 license, then the option applies only if the new code is
1.44 -made subject to such option by the copyright holder.
1.45 --->
1.46 -<!DOCTYPE apichanges PUBLIC "-//NetBeans//DTD API changes list 1.0//EN" "../nbbuild/javadoctools/apichanges.dtd">
1.47 -<apichanges>
1.48 -<apidefs>
1.49 - <apidef name="util">Utilities API</apidef>
1.50 - <apidef name="xml">XML API</apidef>
1.51 - <apidef name="actions">Actions API</apidef>
1.52 -</apidefs>
1.53 -<changes>
1.54 - <change id="ActionInvoker-ActionPresenterProvider">
1.55 - <api name="actions"/>
1.56 - <summary>Action SPI interfaces added</summary>
1.57 - <version major="8" minor="1"/>
1.58 - <date day="21" month="1" year="2010"/>
1.59 - <author login="jglick"/>
1.60 - <compatibility addition="yes"/>
1.61 - <description>
1.62 - <p>
1.63 - Added some internal SPI interfaces.
1.64 - </p>
1.65 - </description>
1.66 - <class package="org.openide.util.actions" name="ActionInvoker"/>
1.67 - <class package="org.openide.util.actions" name="ActionPresenterProvider"/>
1.68 - <issue number="179289"/>
1.69 - </change>
1.70 - <change id="NbPreferences.Provider">
1.71 - <api name="util"/>
1.72 - <summary><code>NbPreferences.Provider</code> added</summary>
1.73 - <version major="8" minor="1"/>
1.74 - <date day="21" month="1" year="2010"/>
1.75 - <author login="jglick"/>
1.76 - <compatibility addition="yes"/>
1.77 - <description>
1.78 - <p>
1.79 - Added an internal SPI interface.
1.80 - </p>
1.81 - </description>
1.82 - <class package="org.openide.util" name="NbPreferences"/>
1.83 - <issue number="179289"/>
1.84 - </change>
1.85 - <change id="lookup.is.free">
1.86 - <api name="util"/>
1.87 - <summary>Lookup API extracted</summary>
1.88 - <version major="8" minor="0"/>
1.89 - <date day="20" month="12" year="2009"/>
1.90 - <author login="jtulach"/>
1.91 - <compatibility modification="yes">
1.92 - <p>
1.93 - Runtime compatibility remains, compile time compatibility is
1.94 - mostly preserved too. It is however recommended to upgrade
1.95 - dependencies of your modules. Try running
1.96 - <code>ant fix-dependencies</code> in your Ant module.
1.97 - </p>
1.98 - </compatibility>
1.99 - <description>
1.100 - <p>
1.101 - <a href="@org-openide-util-lookup@/org/openide/util/Lookup.html">Lookup</a>
1.102 - and its associated interfaces are now available as a
1.103 - <a href="@org-openide-util-lookup@/overview-summary.html">separate module</a>.
1.104 - </p>
1.105 - </description>
1.106 - <issue number="170056"/>
1.107 - </change>
1.108 - <change id="URLStreamHandlerRegistration">
1.109 - <api name="util"/>
1.110 - <summary>Added <code>@URLStreamHandlerRegistration</code></summary>
1.111 - <version major="7" minor="31"/>
1.112 - <date day="30" month="10" year="2009"/>
1.113 - <author login="jglick"/>
1.114 - <compatibility addition="yes">
1.115 - <p>
1.116 - Modules registering <code>URLStreamHandlerFactory</code>s into
1.117 - global lookup will still work but are advised to switch to this
1.118 - annotation, which is both easier to use and more efficient.
1.119 - </p>
1.120 - </compatibility>
1.121 - <description>
1.122 - <p>
1.123 - Introduced an annotation to register URL protocols.
1.124 - </p>
1.125 - </description>
1.126 - <class package="org.openide.util" name="URLStreamHandlerRegistration"/>
1.127 - <issue number="20838"/>
1.128 - </change>
1.129 - <change id="ImageUtilities.createDisabled">
1.130 - <api name="util"/>
1.131 - <summary><code>ImageUtilities.createDisabledIcon</code> and <code>ImageUtilities.createDisabledImage</code> added.</summary>
1.132 - <version major="7" minor="28"/>
1.133 - <date day="10" month="9" year="2009"/>
1.134 - <author login="t_h"/>
1.135 - <compatibility addition="yes"/>
1.136 - <description>
1.137 - <p>
1.138 - <code>ImageUtilities.createDisabledIcon</code> now can be used
1.139 - to create low color saturation icon for disabled buttons. Also
1.140 - <code>ImageUtilities.createDisabledImage</code> was added.
1.141 - </p>
1.142 - </description>
1.143 - <class package="org.openide.util" name="ImageUtilities"/>
1.144 - <issue number="171400"/>
1.145 - </change>
1.146 - <change id="NbBundle.varargs">
1.147 - <api name="util"/>
1.148 - <summary><code>NbBundle.getMessage</code> can take arbitrarily many format arguments</summary>
1.149 - <version major="7" minor="27"/>
1.150 - <date day="5" month="8" year="2009"/>
1.151 - <author login="jglick"/>
1.152 - <compatibility addition="yes"/>
1.153 - <description>
1.154 - <p>
1.155 - <code>NbBundle.getMessage</code> now has a varargs overload that
1.156 - permits you to specify four or more format arguments without
1.157 - explicitly constructing an array.
1.158 - </p>
1.159 - </description>
1.160 - <class package="org.openide.util" name="NbBundle"/>
1.161 - </change>
1.162 - <change id="EditableProperties">
1.163 - <api name="util"/>
1.164 - <summary>Copied API from <code>project.ant</code> for <code>EditableProperties</code>.</summary>
1.165 - <version major="7" minor="26"/>
1.166 - <date day="29" month="7" year="2009"/>
1.167 - <author login="jglick"/>
1.168 - <compatibility addition="yes"/>
1.169 - <description>
1.170 - <p>
1.171 - <code>EditableProperties</code> now available in Utilities API
1.172 - so it can be used more broadly.
1.173 - </p>
1.174 - </description>
1.175 - <class package="org.openide.util" name="EditableProperties"/>
1.176 - <issue number="66577"/>
1.177 - </change>
1.178 - <change id="LifecycleManager.markForRestart">
1.179 - <api name="util"/>
1.180 - <summary>Added way to request that the platform restart.</summary>
1.181 - <version major="7" minor="25"/>
1.182 - <date day="14" month="7" year="2009"/>
1.183 - <author login="jglick"/>
1.184 - <compatibility addition="yes"/>
1.185 - <description>
1.186 - <p>
1.187 - Can now use <code>LifecycleManager.markForRestart</code> to cause
1.188 - the application to restart after exiting. Formerly needed to
1.189 - create special files in the userdir or use similar tricks.
1.190 - </p>
1.191 - </description>
1.192 - <class package="org.openide" name="LifecycleManager"/>
1.193 - <issue number="168257"/>
1.194 - </change>
1.195 - <change id="enableStackTraces">
1.196 - <api name="util"/>
1.197 - <summary>Added constructor <code>RequestProcessor(String name, int throughput, boolean interruptThread, boolean enableStackTraces)</code></summary>
1.198 - <version major="7" minor="24"/>
1.199 - <date day="8" month="6" year="2009"/>
1.200 - <author login="rmichalsky"/>
1.201 - <compatibility addition="yes"/>
1.202 - <description>
1.203 - <p>
1.204 - Newly added constructor allows to disable (slow) filling stack traces before posting each task.
1.205 - </p>
1.206 - </description>
1.207 - <class package="org.openide.util" name="RequestProcessor"/>
1.208 - <issue number="165862"/>
1.209 - </change>
1.210 - <change id="ImageUtilities.loadImageIcon">
1.211 - <api name="util"/>
1.212 - <summary>Added <code>loadImageIcon(String resource, boolean localized)</code></summary>
1.213 - <version major="7" minor="22"/>
1.214 - <date day="26" month="1" year="2009"/>
1.215 - <author login="t_h"/>
1.216 - <compatibility addition="yes"/>
1.217 - <description>
1.218 - <p>
1.219 - Convenient method for loading icons.
1.220 - </p>
1.221 - </description>
1.222 - <class package="org.openide.util" name="ImageUtilities"/>
1.223 - <issue number="157254"/>
1.224 - </change>
1.225 - <change id="Utilities.keyToString">
1.226 - <api name="util"/>
1.227 - <summary>Added <code>keyToString(KeyStroke stroke, boolean portable)</code></summary>
1.228 - <version major="7" minor="21"/>
1.229 - <date day="8" month="1" year="2009"/>
1.230 - <author login="msauer"/>
1.231 - <compatibility addition="yes"/>
1.232 - <description>
1.233 - <p>
1.234 - <code>keyToString(KeyStroke stroke, boolean portable)</code>
1.235 - provides cross-platform compitable keystroke textual representation
1.236 - instead of hardcoding Ctrl, Meta or Alt key.
1.237 - </p>
1.238 - </description>
1.239 - <class package="org.openide.util" name="Utilities"/>
1.240 - <issue number="110492"/>
1.241 - </change>
1.242 - <change id="Utilities.OS_OPENBSD">
1.243 - <api name="util"/>
1.244 - <summary>Added <code>OS_OPENBSD</code> and <code>OS_UNIX_OTHER</code> fields</summary>
1.245 - <version major="7" minor="18"/>
1.246 - <date day="16" month="9" year="2008"/>
1.247 - <author login="jskrivanek"/>
1.248 - <compatibility addition="yes"/>
1.249 - <description>
1.250 - <p>
1.251 - Added a new <code>Utilities.OS_OPENBSD</code> and <code>OS_UNIX_OTHER</code>
1.252 - fields. Deprecated <code>OS_WINDOWS_MASK</code> and <code>OS_UNIX_MASK</code>.
1.253 - </p>
1.254 - </description>
1.255 - <class package="org.openide.util" name="Utilities"/>
1.256 - <issue number="145462"/>
1.257 - </change>
1.258 - <change id="Utilities.OS_WINVISTA">
1.259 - <api name="util"/>
1.260 - <summary>Added <code>OS_WINVISTA</code> field</summary>
1.261 - <version major="7" minor="17"/>
1.262 - <date day="8" month="8" year="2008"/>
1.263 - <author login="jskrivanek"/>
1.264 - <compatibility addition="yes"/>
1.265 - <description>
1.266 - <p>
1.267 - Added a new <code>Utilities.OS_WINVISTA</code> field to be able
1.268 - to recognize Windows Vista operating system.
1.269 - </p>
1.270 - </description>
1.271 - <class package="org.openide.util" name="Utilities"/>
1.272 - <issue number="142629"/>
1.273 - </change>
1.274 - <change id="XMLUtil.validate">
1.275 - <api name="xml"/>
1.276 - <summary>Added <code>XMLUtil.validate</code></summary>
1.277 - <version major="7" minor="17"/>
1.278 - <date day="11" month="7" year="2008"/>
1.279 - <author login="jglick"/>
1.280 - <compatibility addition="yes"/>
1.281 - <description>
1.282 - <p>
1.283 - Added a new method to validate XML documents against schemas.
1.284 - </p>
1.285 - </description>
1.286 - <class package="org.openide.xml" name="XMLUtil"/>
1.287 - <issue number="42686"/>
1.288 - </change>
1.289 - <change id="RequestProcessor.Executor">
1.290 - <api name="util"/>
1.291 - <summary>RequestProcessor implements Executor interface</summary>
1.292 - <version major="7" minor="16"/>
1.293 - <date day="27" month="6" year="2008"/>
1.294 - <author login="jtulach"/>
1.295 - <compatibility addition="yes"/>
1.296 - <description>
1.297 - <p>
1.298 - In order to align <code>RequestProcessor</code> closer to standard
1.299 - Java 5 concurrency utilities, the class now implements
1.300 - <a href="@JDK@/java/util/concurrent/Executor.html">Executor</a>
1.301 - interfaces and its <code>execute(Runnable)</code> method.
1.302 - </p>
1.303 - </description>
1.304 - <class package="org.openide.util" name="RequestProcessor"/>
1.305 - <issue number="134297"/>
1.306 - </change>
1.307 - <change id="Utilities.toolTips">
1.308 - <api name="util"/>
1.309 - <summary>ImageUtilities class (with additional methods) was created as
1.310 - replacement for "image methods" in Utilities. </summary>
1.311 - <version major="7" minor="15"/>
1.312 - <date day="6" month="6" year="2008"/>
1.313 - <author login="t_h"/>
1.314 - <compatibility addition="yes"/>
1.315 - <description>
1.316 - <p>
1.317 - Image methods were separated to <a href="@TOP@/org/openide/util/ImageUtilities.html">ImageUtilities</a>
1.318 - (renamed IconManager) as replacement for methods in Utilities.
1.319 - There are some additional methods for image tool tips manipulation.
1.320 - </p>
1.321 - <p>
1.322 - New methods for tool tips manipulation:
1.323 - <code>Image assignToolTipToImage(Image image, String text)</code>;
1.324 - <code>String getImageToolTip(Image image)</code>;
1.325 - <code>Image addToolTipToImage(Image image, String text)</code>;
1.326 - </p>
1.327 - <p>
1.328 - New method for conversion from Image to Icon:
1.329 - <code>Icon image2Icon(Image image)</code>;
1.330 - </p>
1.331 - <p>
1.332 - "Moved" methods from <a href="@TOP@/org/openide/util/Utilities.html">Utilities</a>:
1.333 - <code>Image icon2Image(Icon icon)</code>;
1.334 - <code>Image loadImage(String resourceID)</code>;
1.335 - <code>Image loadImage(String resource, boolean localized)</code>;
1.336 - <code>Image mergeImages(Image image1, Image image2, int x, int y)</code>;
1.337 - </p>
1.338 - </description>
1.339 - <class package="org.openide.util" name="Utilities"/>
1.340 - <class package="org.openide.util" name="ImageUtilities"/>
1.341 - <issue number="123469"/>
1.342 - </change>
1.343 - <change id="Mutex.Wrapper">
1.344 - <api name="util"/>
1.345 - <summary>Mutex made pluggable</summary>
1.346 - <version major="7" minor="12"/>
1.347 - <date day="3" month="1" year="2008"/>
1.348 - <author login="jtulach"/>
1.349 - <compatibility addition="yes"/>
1.350 - <description>
1.351 - <p>
1.352 - Added new constructor
1.353 - <a href="@TOP@/org/openide/util/Mutex.html">Mutex(Privileged, Executor)</a>
1.354 - that allows creators of the mutex to intercept and wrap all actions running
1.355 - inside the mutex with custom code.
1.356 - </p>
1.357 - </description>
1.358 - <class package="org.openide.util" name="Mutex"/>
1.359 - <issue number="123832"/>
1.360 - </change>
1.361 - <change id="Utilities.isLargeFrameIcons">
1.362 - <api name="util"/>
1.363 - <summary>Obsolete method <code>Utilities.isLargeFrameIcons</code> deprecated.</summary>
1.364 - <version major="7" minor="10"/>
1.365 - <date day="23" month="10" year="2007"/>
1.366 - <author login="mslama"/>
1.367 - <compatibility addition="no" deprecation="yes"/>
1.368 - <description>
1.369 - <p>
1.370 - Javadoc says: Test whether the operating system supports icons on frames (windows).
1.371 - But window system used this method to decide if small 16x16 or bigger 32x32 icon
1.372 - should be used for frame (main window). So usage and Javadoc is inconsistent.
1.373 - All OS support small icon in frame. From JDK 6 it is possible to set multiple size
1.374 - icons for frame so OS WM selects appropriate size.
1.375 - I removed useless usage of this method from window system code and this method is
1.376 - not used elsewhere.
1.377 - </p>
1.378 - </description>
1.379 - <class package="org.openide.util" name="Utilities"/>
1.380 - <issue number="119069"/>
1.381 - </change>
1.382 -
1.383 - <change id="ChangeSupport">
1.384 - <api name="util"/>
1.385 - <summary>Added <code>ChangeSupport</code></summary>
1.386 - <version major="7" minor="8"/>
1.387 - <date day="26" month="3" year="2007"/>
1.388 - <author login="abadea"/>
1.389 - <compatibility addition="yes"/>
1.390 - <description>
1.391 - <p>
1.392 - Added a <code>ChangeSupport</code> class to simplify
1.393 - the management of <code>ChangeListener</code>s and the
1.394 - firing of <code>ChangeEvent</code>s.
1.395 - </p>
1.396 - </description>
1.397 - <class package="org.openide.util" name="ChangeSupport"/>
1.398 - <issue number="95885"/>
1.399 - </change>
1.400 -
1.401 - <change id="Utilities.isMac">
1.402 - <api name="util"/>
1.403 - <summary>Added <code>Utilities.isMac()</code> method</summary>
1.404 - <version major="7" minor="7"/>
1.405 - <date day="11" month="1" year="2007"/>
1.406 - <author login="rkubacki"/>
1.407 - <compatibility addition="yes"/>
1.408 - <description>
1.409 - <p>
1.410 - Added a <code>Utilities.isMac()</code> method for checking
1.411 - if current platform is Mac.
1.412 - </p>
1.413 - </description>
1.414 - <class package="org.openide.util" name="Utilities"/>
1.415 - <issue number="61044"/>
1.416 - </change>
1.417 -
1.418 - <change id="Parameters">
1.419 - <api name="util"/>
1.420 - <summary>Added <code>Parameters</code></summary>
1.421 - <version major="7" minor="6"/>
1.422 - <date day="8" month="12" year="2006"/>
1.423 - <author login="abadea"/>
1.424 - <compatibility addition="yes"/>
1.425 - <description>
1.426 - <p>
1.427 - Added a <code>Parameters</code> class for checking the
1.428 - values of method parameters.
1.429 - </p>
1.430 - </description>
1.431 - <class package="org.openide.util" name="Parameters"/>
1.432 - <issue number="89768"/>
1.433 - </change>
1.434 -
1.435 - <change id="NbCollections.iterable">
1.436 - <api name="util"/>
1.437 - <summary>Added <code>NbCollections.iterable(...)</code> methods</summary>
1.438 - <version major="7" minor="5"/>
1.439 - <date day="13" month="11" year="2006"/>
1.440 - <author login="jglick"/>
1.441 - <compatibility addition="yes"/>
1.442 - <description>
1.443 - <p>
1.444 - Added two new methods to make enhanced for-loops easier to use
1.445 - with legacy APIs returning <code>Iterator</code> or <code>Enumeration</code>.
1.446 - </p>
1.447 - </description>
1.448 - <class package="org.openide.util" name="NbCollections"/>
1.449 - <issue number="88606"/>
1.450 - </change>
1.451 -
1.452 - <change id="nbpreferences">
1.453 - <api name="util"/>
1.454 - <summary>Added <code>NbPreferences.forModule(Class cls)</code> and
1.455 - <code>NbPreferences.root()</code> methods as static factory methods
1.456 - for getting preference node from NetBeans preference tree.</summary>
1.457 - <version major="7" minor="4"/>
1.458 - <date day="10" month="11" year="2006"/>
1.459 - <author login="rmatous"/>
1.460 - <compatibility addition="yes" deprecation="no"/>
1.461 - <description>
1.462 - <p>
1.463 - NetBeans preference tree is provided by NetBeans implementation of preferences
1.464 - which uses userdir as a storage. Both newly added methods return
1.465 - preferences node from NetBeans preference tree.
1.466 - Method <code>NbPreferences.root()</code> returns root preference
1.467 - node.
1.468 - Method <code>NbPreferences.forModule(Class cls)</code> returns
1.469 - preference node whose
1.470 - path depends whether class provided as a parameter
1.471 - was loaded as a part of any module or not. If so, then absolute path corresponds to slashified
1.472 - code name base of module. If not, then absolute path corresponds to class's package.
1.473 - See document
1.474 - <a href="@TOP@/org/openide/util/doc-files/preferences.html">Preferences in NetBeans</a>
1.475 - to learn more about preferences in NetBeans.
1.476 - </p>
1.477 - </description>
1.478 - <class package="org.openide.util" name="NbPreferences"/>
1.479 - <issue number="73474"/>
1.480 - </change>
1.481 -
1.482 - <change id="icon2image">
1.483 - <api name="util"/>
1.484 - <summary>Added <code>Utilities.icon2Image</code> method to perform conversion from <code>Icon</code> to Image</summary>
1.485 - <version major="7" minor="3"/>
1.486 - <date day="4" month="7" year="2006"/>
1.487 - <author login="rkubacki"/>
1.488 - <compatibility addition="yes" deprecation="no"/>
1.489 - <description>
1.490 - <p>
1.491 - Conversion from <code>Icon</code> to <code>Image</code> is done
1.492 - at various places and newly introduced method avoids the need to
1.493 - duplicate the same code.
1.494 - </p>
1.495 - </description>
1.496 - <class package="org.openide.util" name="Utilities"/>
1.497 - <issue number="52562"/>
1.498 - </change>
1.499 -
1.500 - <change id="Exceptions">
1.501 - <api name="util"/>
1.502 - <summary>Added <code>Exceptions</code> class as a replacement for <code>ErrorManager</code></summary>
1.503 - <version major="7" minor="2"/>
1.504 - <date day="20" month="6" year="2006"/>
1.505 - <author login="jtulach"/>
1.506 - <compatibility addition="yes" deprecation="yes"/>
1.507 - <description>
1.508 - <p>
1.509 - <code>ErrorManager</code> is now deprecated and its replacement
1.510 - is either <a href="@JDK@/java/util/logging/Logger.html">Logger</a>
1.511 - or <code>Exceptions</code>.
1.512 - </p>
1.513 - </description>
1.514 - <class package="org.openide.util" name="Exceptions"/>
1.515 - <issue number="35067"/>
1.516 - </change>
1.517 -
1.518 - <change id="NbCollections">
1.519 - <api name="util"/>
1.520 - <summary>Added <code>NbCollections</code> and <code>Union2</code></summary>
1.521 - <version major="7" minor="1"/>
1.522 - <date day="5" month="6" year="2006"/>
1.523 - <author login="jglick"/>
1.524 - <compatibility addition="yes"/>
1.525 - <description>
1.526 - <p>
1.527 - Added two new classes useful for transitioning to JDK 5 generics.
1.528 - </p>
1.529 - </description>
1.530 - <class package="org.openide.util" name="NbCollections"/>
1.531 - <class package="org.openide.util" name="Union2"/>
1.532 - <issue number="73637"/>
1.533 - </change>
1.534 -
1.535 - <change id="use-logging" >
1.536 - <api name="util"/>
1.537 - <summary>Do not use ErrorManager for logging</summary>
1.538 - <version major="7" minor="0"/>
1.539 - <date day="15" month="4" year="2006"/>
1.540 - <author login="jtulach"/>
1.541 - <compatibility addition="yes" modification="yes" binary="compatible" source="compatible" semantic="incompatible" deprecation="no" deletion="no"/>
1.542 - <description>
1.543 - <a href="@TOP@/org/openide/ErrorManager.html">ErrorManager</a>
1.544 - is no longer the recommended way to do logging in NetBeans based
1.545 - application. Instead NetBeans now fully support logging two JDK's
1.546 - standard <a href="@JDK@/java/util/logging/Logger.html">Logger</a>.
1.547 - See the
1.548 - <a href="@TOP@/org/openide/util/doc-files/logging.html">NetBeans logging guide</a>
1.549 - to learn the best practises for logging in NetBeans.
1.550 - <br/>
1.551 - <a href="@TOP@/org/openide/ErrorManager.html">ErrorManager</a>
1.552 - is still kept around for annotating exceptions with localized
1.553 - messages and advanced manipulation and its behaviour is fully
1.554 - backward compatible. However modules are adviced to migrate to
1.555 - <a href="@JDK@/java/util/logging/Logger.html">logging</a> whereever
1.556 - possible.
1.557 - <br/>
1.558 - To migrate your modules you can install Jackpot modules from
1.559 - autoupdate (if they are not yet part of your IDE) and apply
1.560 - precreate <a href="http://www.netbeans.org/source/browse/openide/util/Attic/ErrorManagerJackpot.rules">
1.561 - javapot error manager rule</a>.
1.562 - <br/>
1.563 - There is one possible incompatibility from end user point of view.
1.564 - The way to <em>enable logging</em> for certain components when
1.565 - running inside the whole NetBeans container has changed:
1.566 - If there is
1.567 - <a href="@JDK@/java/util/logging/Logger.html">Logger</a> or
1.568 - <a href="@TOP@/org/openide/ErrorManager.html">ErrorManager</a>
1.569 - named <q>org.mymodule.MyComponent</q> then the correct way
1.570 - to turn the logging is now to invoke NetBeans with
1.571 - <code>-J-Dorg.mymodule.MyComponent<b>.level</b>=100</code>
1.572 - (where the possible constants are taken form
1.573 - a JDK's definition of <a href="@JDK@/java/util/logging/Level.html">level</a>).
1.574 - There is however a certain benefit in this change, the value
1.575 - of the property (like <q>org.mymodule.MyComponent.level</q>)
1.576 - can be changed during runtime and thus the logging can be
1.577 - enabled or disabled dynamically (after changing the value, it is
1.578 - necessary to call
1.579 - <a href="@JDK@/java/util/logging/LogManager.html">LogManager.readConfiguration()</a>).
1.580 - </description>
1.581 - <class package="org.openide" name="ErrorManager"/>
1.582 - <issue number="56311"/>
1.583 - </change>
1.584 - <change id="rp-create-true" >
1.585 - <api name="util"/>
1.586 - <summary>Ability to create finished RequestProcessor task</summary>
1.587 - <version major="6" minor="8"/>
1.588 - <date day="22" month="11" year="2005"/>
1.589 - <author login="jtulach"/>
1.590 - <compatibility addition="yes" modification="no" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no"/>
1.591 - <description>
1.592 - <a href="@TOP@/org/openide/util/RequestProcessor.html">RequestProcessor.create(Runnable, boolean)</a>
1.593 - has been added to allow creation of
1.594 - <a href="@TOP@/org/openide/util/RequestProcessor.Task.html">Task</a>
1.595 - that has not executed its runnable yet, but looks like it is finished.
1.596 - </description>
1.597 - <class package="org.openide.util" name="RequestProcessor"/>
1.598 - <issue number="68031"/>
1.599 - </change>
1.600 -
1.601 - <change>
1.602 - <api name="util"/>
1.603 - <summary>DynamicMenuContent interface added</summary>
1.604 - <version major="6" minor="4"/>
1.605 - <date day="12" month="6" year="2005"/>
1.606 - <author login="mkleint"/>
1.607 - <compatibility addition="no" modification="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no"/>
1.608 - <description>
1.609 - In order to support MacOSX top menus and to fix problems with deprecated JInlineMenu, this new
1.610 - interface was added that allows to handle dynamic content in
1.611 -<a href="@TOP@/org/openide/util/actions/Presenter.Menu.html">Presenter.Menu</a>
1.612 - and <a href="@TOP@/org/openide/util/actions/Presenter.Popup.html">Presenter.Popup</a>.
1.613 - If the instance returned by Presenter.Menu/Popup is an instance of
1.614 -<a href="@org-openide-awt@/org/openide/awt/DynamicMenuContent.html">DynamicMenuContent</a>, it's methods are
1.615 - consulted when creating/updating the menu.
1.616 - </description>
1.617 - <class package="org.openide.util.actions" name="Presenter"/>
1.618 - <issue number="35827"/>
1.619 - </change>
1.620 -
1.621 -
1.622 -
1.623 - <change>
1.624 - <api name="util"/>
1.625 - <summary>Support for interruption of RequestProcessor tasks</summary>
1.626 - <version major="6" minor="3"/>
1.627 - <date day="10" month="6" year="2005"/>
1.628 - <author login="jtulach"/>
1.629 - <compatibility addition="yes" modification="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no"/>
1.630 - <description>
1.631 - When one calls <a href="@TOP@/org/openide/util/RequestProcessor.Task.html">RequestProcessor.Task</a>.cancel(),
1.632 - the running thread gets interrupted if the
1.633 - <a href="@TOP@/org/openide/util/RequestProcessor.html#RequestProcessor(java.lang.String,%20int,%20boolean)">
1.634 - RequestProcessor(string, int, boolean)
1.635 - </a>
1.636 - constructor is used.
1.637 - There always was a way how to cancel not yet running Task,
1.638 - but if the task was already running, one was out of luck. Since now
1.639 - the thread running the task is interrupted and the Runnable can check
1.640 - for that and terminate its execution sooner. In the runnable one shall
1.641 - check for thread interruption and
1.642 - if true, return immediatelly as in this example:
1.643 - <pre>
1.644 -public void run () {
1.645 - while (veryLongTimeLook) {
1.646 - doAPieceOfIt ();
1.647 -
1.648 - if (Thread.interrupted ()) return;
1.649 - }
1.650 -}
1.651 -</pre>
1.652 - </description>
1.653 - <class package="org.openide.util" name="RequestProcessor"/>
1.654 - <issue number="33467"/>
1.655 - </change>
1.656 - <change id="textual-icons-for-actions" >
1.657 - <api name="actions"/>
1.658 - <summary>Can create textual icons for actions</summary>
1.659 - <date day="23" month="3" year="2000"/>
1.660 - <author login="jglick"/>
1.661 - <compatibility addition="yes" modification="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no"/>
1.662 - <description>
1.663 - <code>iconResource</code> may now return <code>null</code> to indicate no
1.664 - icon. <code>getIcon(true)</code> may be used to get an icon created from
1.665 - the label if there is no icon specified.
1.666 - </description>
1.667 - <class package="org.openide.util.actions" name="SystemAction"/>
1.668 - </change>
1.669 - <change id="use-icon-instead-of-imageicon" >
1.670 - <api name="actions"/>
1.671 - <summary>
1.672 - <code>SystemAction</code> refers to <code>Icon</code> rather than <code>ImageIcon</code>
1.673 - </summary>
1.674 - <date day="11" month="4" year="2000"/>
1.675 - <author login="jglick"/>
1.676 - <compatibility modification="yes" binary="compatible" source="incompatible" semantic="compatible" deprecation="no" addition="no" deletion="no">
1.677 - First broken, later restored binary compatibility in trunk and
1.678 - <code>boston</code>. Any code explicitly using this calls before may break
1.679 - (source code may be compatible in many cases; binary compatibility has
1.680 - been preserved). These calls were known to be used only for
1.681 - <code>Actions</code> to create presenters; normal code which constructs
1.682 - <code>SystemAction</code>s and implements <code>iconResource</code> should
1.683 - be unaffected. Actions using the "grouping action" template should check
1.684 - their <code>getMenuPresenter</code> method which may be
1.685 - binary-incompatible; it is easy to replace the code with safer code such
1.686 - as:
1.687 - <pre xml:space="preserve">
1.688 -<span class="comment">// ....
1.689 -</span>
1.690 -<span class="keyword">private</span> <span class="keyword">static</span> <span class="type">Icon</span> <span class="variable-name">icon</span> = <span class="constant">null</span>;
1.691 -<span class="comment">// ....
1.692 -</span>
1.693 -<span class="keyword">public</span> <span class="type">JMenuItem</span> <span class="function-name">getMenuPresenter</span>() {
1.694 - <span class="type">JMenu</span> <span class="variable-name">menu</span> = <span class="keyword">new</span> <span class="type">JMenu</span>(getName ());
1.695 - <span class="keyword">if</span> (icon == <span class="constant">null</span>) {
1.696 - icon = <span class="keyword">new</span> <span class="type">ImageIcon</span>(MyAction.<span class="keyword">class</span>.getResource(iconResource()));
1.697 - }
1.698 - menu.setIcon(icon);
1.699 - <span class="comment">// ....</span>
1.700 -</pre>
1.701 - </compatibility>
1.702 - <description>
1.703 - <code>getIcon</code> and <code>setIcon</code> now use the interface
1.704 - <code>Icon</code> rather than the particular implementation
1.705 - <code>ImageIcon</code>. This corrects an API bug (excessive specificity).
1.706 - </description>
1.707 - <class package="org.openide.util.actions" name="SystemAction"/>
1.708 - </change>
1.709 - <change>
1.710 - <api name="actions"/>
1.711 - <summary>New Actions system - part I.</summary>
1.712 - <version major="3" minor="29"/>
1.713 - <date day="8" month="1" year="2003"/>
1.714 - <author login="jtulach"/>
1.715 - <author login="pzavadsky"/>
1.716 - <compatibility deprecation="yes" addition="yes" modification="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no"/>
1.717 - <description>
1.718 - <p>
1.719 - Introduction of new action system, which generally means
1.720 - move from usage of <code>SystemAction</code> to <code>Action</code> instances.
1.721 - That document also focuses on declarative actions
1.722 - usage which is not subject of current change, it will be part of later changes.
1.723 - </p>
1.724 - </description>
1.725 - <class package="org.openide.util" name="ContextAwareAction"/>
1.726 - <class package="org.openide.util" name="Utilities"/>
1.727 - <class package="org.openide.util.actions" name="CallbackSystemAction"/>
1.728 - <issue number="27868"/>
1.729 - </change>
1.730 -
1.731 -<change id="Task-waitFinished-timeout">
1.732 - <api name="util"/>
1.733 - <summary>New method <code>task.waitFinished(timeout)</code> added</summary>
1.734 - <version major="5" minor="0"/>
1.735 - <date day="2" month="11" year="2004"/>
1.736 - <author login="jtulach"/>
1.737 - <compatibility addition="yes" binary="compatible" semantic="compatible" source="compatible" deprecation="no" deletion="no" modification="no"/>
1.738 - <description>
1.739 - <p>It is not possible to wait for a limited amount of time for
1.740 - completion of any task. The <code>RequestProcessor.Task</code>
1.741 - version is optimized, the <code>Task</code> version ensures that
1.742 - the sematics will be compatible for all subclasses, even they did
1.743 - not know about the method at all.
1.744 - </p>
1.745 - </description>
1.746 - <class package="org.openide.util" name="Task"/>
1.747 - <class package="org.openide.util" name="RequestProcessor"/>
1.748 - <issue number="16849"/>
1.749 - </change>
1.750 -<change id="add-detection-of-FreeBSD-OS">
1.751 - <api name="util"/>
1.752 - <summary>Added field <code>OS_FREEBSD</code> to <code>Utilities</code>
1.753 -</summary>
1.754 - <version major="4" minor="50"/>
1.755 - <date day="29" month="10" year="2004"/>
1.756 - <author login="jrechtacek"/>
1.757 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.758 - <description>
1.759 - <p>FreeBSD was not recognized as Unix OS. <code>Utilities</code> has been
1.760 - enlarged with new field <code>OS_FREEBSD</code>, part of OS Unix mask. <code>Utilities.isUnix()</code>
1.761 - now returns <code>true</code> for applications run on FreeBSD.
1.762 - </p>
1.763 - </description>
1.764 - <class package="org.openide.util" name="Utilities"/>
1.765 - </change>
1.766 - <change id="Mutex.isReadWriteAccess">
1.767 - <api name="util"/>
1.768 - <summary>Added <code>Mutex.isReadAccess()</code> and <code>Mutex.isWriteAcess()</code>
1.769 -</summary>
1.770 - <version major="4" minor="48"/>
1.771 - <date day="30" month="9" year="2004"/>
1.772 - <author login="jtulach"/>
1.773 - <compatibility addition="yes" binary="compatible" semantic="compatible" source="compatible" deprecation="no" deletion="no" modification="no"/>
1.774 - <description>
1.775 - A thread can now check whether read or write access on a <code>Mutex</code>
1.776 - has already been
1.777 - granted to it and use it to decide whether it is safe to perform
1.778 - certain operations or delay them.
1.779 - </description>
1.780 - <class package="org.openide.util" name="Mutex"/>
1.781 - <issue number="49459"/>
1.782 - </change>
1.783 -<change id="SharedClassObject.reset">
1.784 - <api name="util"/>
1.785 - <summary>Added <code>SharedClassObject.reset</code> method to allow subclasses to implement reset correctly</summary>
1.786 - <version major="4" minor="46"/>
1.787 - <date day="2" month="9" year="2004"/>
1.788 - <author login="jtulach"/>
1.789 - <compatibility addition="yes" binary="compatible" semantic="compatible" source="compatible" deprecation="no" deletion="no" modification="no"/>
1.790 - <description>
1.791 - The new <code>SharedClassObject.reset</code> method is called
1.792 - by the infrastructure in moments when an original (at the time
1.793 - of start) state of an option or any other <code>SharedClassObject</code>
1.794 - is requested. Interested subclasses are free to implement any kind of clean
1.795 - they need. The <code>SystemOption</code> provides a default
1.796 - implementation based on fired property changed events, so
1.797 - its correctly written subclasses do not need
1.798 - to do anything.
1.799 - </description>
1.800 - <class package="org.openide.util" name="SharedClassObject"/>
1.801 - <issue number="20962"/>
1.802 - </change>
1.803 -<change>
1.804 - <api name="util"/>
1.805 - <summary>enum package deprecated and replaced by Enumerations factory class</summary>
1.806 - <version major="4" minor="37"/>
1.807 - <date day="7" month="6" year="2004"/>
1.808 - <author login="jtulach"/>
1.809 - <compatibility deprecation="yes" addition="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no"/>
1.810 - <description>
1.811 - enum is a keyword in JDK 1.5 and as such it should not be used.
1.812 - That is the reason why we had to deprecated our
1.813 - <code>org.openide.util.enum</code> package. We are providing
1.814 - replacements of the original classes in form of factory methods
1.815 - <code>org.openide.util.Enumerations</code>.
1.816 - </description>
1.817 - <class package="org.openide.util" name="Enumerations"/>
1.818 - <issue number="41166"/>
1.819 - </change>
1.820 -<change>
1.821 - <api name="util"/>
1.822 - <summary>Support for complicated listeners</summary>
1.823 - <version major="4" minor="12"/>
1.824 - <date day="2" month="9" year="2003"/>
1.825 - <author login="jtulach"/>
1.826 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.827 - <description>
1.828 - Improved support for hierarchic listeners (aka NamingListener vs. ObjectChangeListener from
1.829 - javax.naming.event package).
1.830 - </description>
1.831 - <class package="org.openide.util" name="WeakListeners"/>
1.832 - <issue number="35726"/>
1.833 - </change>
1.834 -<change id="Utilities.actionsGlobalContext">
1.835 - <api name="util"/>
1.836 - <summary>Global action context as <code>Lookup</code>
1.837 -</summary>
1.838 - <version major="4" minor="10"/>
1.839 - <date day="12" month="8" year="2003"/>
1.840 - <author login="jtulach"/>
1.841 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.842 - <description>
1.843 - As part of the work on separation of openide.jar into smaller parts
1.844 - a new interface <code>ContextGlobalProvider</code> and new method
1.845 - in utilities <code>Utilities.actionsGlobalContext()</code> had to be
1.846 - added in order to separate the implementation of actions like
1.847 - <code>CallbackSystemAction</code> and <code>NodeAction</code> from
1.848 - their dependency on window system.
1.849 - </description>
1.850 - <class package="org.openide.util" name="ContextGlobalProvider"/>
1.851 - <class package="org.openide.util" name="Utilities"/>
1.852 - <issue number="34758"/>
1.853 - </change>
1.854 -<change id="WeakListeners">
1.855 - <api name="util"/>
1.856 - <summary>Old <code>WeakListener</code> replaced by <code>WeakListeners</code> class</summary>
1.857 - <version major="4" minor="10"/>
1.858 - <date day="12" month="8" year="2003"/>
1.859 - <author login="jtulach"/>
1.860 - <compatibility deprecation="yes" addition="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no"/>
1.861 - <description>
1.862 - <p>
1.863 - As part of the work on separation of openide.jar into smaller parts
1.864 - the <code>WeakListener</code> had to be deprecated as it referenced too
1.865 - many classes around and replaced by more general <code>WeakListeners</code>
1.866 - factory class that provides a generic <code>create</code> method and
1.867 - specialized factory methods just for JDK own interfaces.
1.868 - </p>
1.869 - <p>
1.870 - Also few factory methods were spread into appropriate packages like
1.871 - <code>FileUtil.weakFileChangeListener</code> and
1.872 - <code>NodeOp.weakNodeListener</code>.
1.873 - </p>
1.874 - </description>
1.875 - <class package="org.openide.util" name="WeakListeners"/>
1.876 - <issue number="34758"/>
1.877 - </change>
1.878 - <change id="HelpCtx.findHelp">
1.879 - <api name="util"/>
1.880 - <summary>New method to find HelpCtx</summary>
1.881 - <version major="4" minor="3"/>
1.882 - <date day="2" month="4" year="2003"/>
1.883 - <author login="jtulach"/>
1.884 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.885 - <description>
1.886 - A new method for finding HelpCtx (<code>HelpCtx.findHelp(Object)</code>)
1.887 - has been added to replace
1.888 - the old <code>InstanceSupport.findHelp</code> that has been
1.889 - separated out from the openide.jar.
1.890 - </description>
1.891 - <class package="org.openide.util" name="HelpCtx"/>
1.892 - <issue number="32143"/>
1.893 - </change>
1.894 -<change>
1.895 - <api name="util"/>
1.896 - <summary>Retrofit of interface Cancellable into RequestProcessor.Task</summary>
1.897 - <version major="4" minor="1"/>
1.898 - <date day="14" month="3" year="2003"/>
1.899 - <author login="dsimonek"/>
1.900 - <compatibility modification="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" addition="no" deletion="no"/>
1.901 - <description>
1.902 - RequestProcessor.Task was made to implement util.Cancellable interface.
1.903 - No change of implementation at all, RP.Task already had method from
1.904 - interface implemented, this is just a logical retrofit.
1.905 - </description>
1.906 - <class package="org.openide.util" name="RequestProcessor"/>
1.907 - </change>
1.908 -<change>
1.909 - <api name="util"/>
1.910 - <summary>Support for asynchronous init of UI components</summary>
1.911 - <version major="3" minor="36"/>
1.912 - <date day="5" month="2" year="2003"/>
1.913 - <author login="dsimonek"/>
1.914 - <compatibility deprecation="no" addition="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no"/>
1.915 - <description>
1.916 - <p>
1.917 - Performance related API addition, allows clients to write asynchronous
1.918 - initialization of UI components easily by providing <code>AsyncGUIJob</code>
1.919 - implementation. Also introduced <code>Cancellable</code> ability.
1.920 - <code>Utilities.attachInitJob</code> couples init job with target
1.921 - UI component.
1.922 - </p>
1.923 - </description>
1.924 - <class package="org.openide.util" name="AsyncGUIJob"/>
1.925 - <class package="org.openide.util" name="Cancellable"/>
1.926 - <class package="org.openide.util" name="Utilities"/>
1.927 - <issue number="30604"/>
1.928 - </change>
1.929 -<change>
1.930 - <api name="util"/>
1.931 - <summary>org.openide.util.Utilities.createProgressCursor added</summary>
1.932 - <version major="3" minor="23"/>
1.933 - <date day="2" month="12" year="2002"/>
1.934 - <author login="dsimonek"/>
1.935 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.936 - <description>
1.937 - Method java.awt.Cursor createProgressCursor(java.awt.Component comp) was
1.938 - added into Utilities class. Method creates mouse cursor suitable for
1.939 - components which are busy, but still reacts to the input events. (don't
1.940 - block UI).
1.941 - </description>
1.942 - <class package="org.openide.util" name="Utilities"/>
1.943 - </change>
1.944 -<change>
1.945 - <api name="util"/>
1.946 - <summary>Added interface HelpCtx.Provider</summary>
1.947 - <version major="3" minor="20"/>
1.948 - <date day="11" month="11" year="2002"/>
1.949 - <author login="pnejedly"/>
1.950 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.951 - <description>
1.952 - An interface HelpCtx.Provider with one method getHelpCtx was added
1.953 - and the logic in HelpCtx.findHelp and InstanceSupport.findHelp
1.954 - was extended to take this interface into accout.
1.955 - Various classes with existing getHelpCtx method were retrofitted
1.956 - to implement this interface.
1.957 - </description>
1.958 - <class package="org.openide.util" name="HelpCtx"/>
1.959 - <class package="org.openide" name="ServiceType"/>
1.960 - <class package="org.openide.util.actions" name="SystemAction"/>
1.961 - <class package="org.openide.util.datatransfer" name="NewType"/>
1.962 - <class package="org.openide.util.datatransfer" name="PasteType"/>
1.963 - </change>
1.964 -<change>
1.965 - <api name="util"/>
1.966 - <summary>Can load localized cached images</summary>
1.967 - <version major="3" minor="24"/>
1.968 - <date day="15" month="12" year="2002"/>
1.969 - <author login="jglick"/>
1.970 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.971 - <description>
1.972 - Added method <code>Utilities.loadImage(String, boolean)</code>
1.973 - which works like <code>Utilities.loadImage(String)</code> except
1.974 - that it will search for localized images. Also
1.975 - <code>SystemAction.getIcon()</code> will load a localized image now
1.976 - if there is one.
1.977 - </description>
1.978 - <class package="org.openide.util" name="Utilities"/>
1.979 - <class package="org.openide.util.actions" name="SystemAction"/>
1.980 - <issue number="22156"/>
1.981 - </change>
1.982 -<change>
1.983 - <api name="util"/>
1.984 - <summary>Utilities.activeReferenceQueue()</summary>
1.985 - <version major="3" minor="11"/>
1.986 - <date day="7" month="10" year="2002"/>
1.987 - <author login="jtulach"/>
1.988 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.989 - <description>
1.990 - Active java.util.ref.ReferenceQueue that polls for all
1.991 - enqued instances (that should implement Runnable) and
1.992 - invokes their run method to do actual cleanup.
1.993 - </description>
1.994 - <class package="org.openide.util" name="Utilities"/>
1.995 - <issue number="27238"/>
1.996 - </change>
1.997 -<change>
1.998 - <api name="util"/>
1.999 - <summary>Deprecation of parts of MouseUtils.PopupMenuAdapter</summary>
1.1000 - <version major="3" minor="4"/>
1.1001 - <date day="6" month="8" year="2002"/>
1.1002 - <author login="dsimonek"/>
1.1003 - <compatibility deprecation="yes" binary="compatible" source="compatible" semantic="compatible" addition="no" deletion="no" modification="no"/>
1.1004 - <description>
1.1005 - Constructor MouseUtils.PopupMenuAdapter(int) and public static field
1.1006 - DEFAULT_THESHOLD are now obsoleted, performs no action.
1.1007 - PopupMenuAdapter now delegates to isPopupTrigger crossplatform call,
1.1008 - should be constructed via default constructor.
1.1009 - </description>
1.1010 - </change>
1.1011 -<change>
1.1012 - <api name="util"/>
1.1013 - <summary>
1.1014 -<code>Utilities.toFile</code> and <code>toURL</code> added</summary>
1.1015 - <version major="3" minor="26"/>
1.1016 - <date day="24" month="12" year="2002"/>
1.1017 - <author login="jglick"/>
1.1018 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no">
1.1019 - Existing code which uses the JDK 1.3 method <code>File.toURL</code> should be
1.1020 - examined, as it may be better to call <code>Utilities.toURL</code>.
1.1021 - Similarly, code which gets the path from a URL and calls the <code>File</code>
1.1022 - constructor may need to be changed to call <code>Utilities.toFile</code>.
1.1023 - Such changes should improve robustness of code when used in strangely
1.1024 - named directories.
1.1025 - </compatibility>
1.1026 - <description>
1.1027 - Two new utility methods were added which permit easy interconversion between
1.1028 - files and URLs using the <code>file</code> protocol. This task is easy and
1.1029 - safe under JDK 1.4, yet JDK 1.3 lacks a single call to do these tasks which
1.1030 - will handle unusual characters in file names, especially hash marks. The
1.1031 - utility methods use the JDK 1.4 variants when possible, else use specially
1.1032 - coded versions of the JDK 1.3 variants which handle hash marks.
1.1033 - </description>
1.1034 - <class package="org.openide.util" name="Utilities"/>
1.1035 - <issue number="29711"/>
1.1036 - </change>
1.1037 -<change>
1.1038 - <api name="util"/>
1.1039 - <summary>Added RequestProcessor.getDefault(), deprecated static methods in RequestProcessor</summary>
1.1040 - <version major="2" minor="12"/>
1.1041 - <date day="15" month="4" year="2002"/>
1.1042 - <author login="pnejedly"/>
1.1043 - <compatibility addition="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no"/>
1.1044 - <description>Sharing of singlethreaded
1.1045 - <code>RequestProcessor.DEFAULT</code>
1.1046 - through the static methods is inherently deadlock-prone,
1.1047 - so the methods are deprecated and their usage should phase out
1.1048 - in the favor of using private <code>RequestProcessor</code>s
1.1049 - or the shared multithreaded instance available through the new
1.1050 - static method <code>RequestProcessor.getDefault()</code>.
1.1051 - </description>
1.1052 - <class package="org.openide.util" name="RequestProcessor"/>
1.1053 - </change>
1.1054 -<change>
1.1055 - <api name="util"/>
1.1056 - <summary>Added helper methods to aid module developers to write code which works correctly with multiple monitors</summary>
1.1057 - <version major="2" minor="5"/>
1.1058 - <date day="26" month="2" year="2002"/>
1.1059 - <author login="ttran"/>
1.1060 - <compatibility addition="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no"/>
1.1061 - <description>
1.1062 - The added methods are
1.1063 - <pre xml:space="preserve">
1.1064 -<span class="keyword">public</span> <span class="keyword">static</span> <span class="type">Rectangle</span> <span class="function-name">getUsableScreenBounds</span>();
1.1065 -<span class="keyword">public</span> <span class="keyword">static</span> <span class="type">Rectangle</span> <span class="function-name">getUsableScreenBounds</span>(<span class="type">GraphicsConfiguration</span> <span class="variable-name">gconf</span>);
1.1066 -<span class="keyword">public</span> <span class="keyword">static</span> <span class="type">Rectangle</span> <span class="function-name">findCenterBounds</span>(<span class="type">Dimension</span> <span class="variable-name">componentSize</span>);
1.1067 -</pre>
1.1068 - One should use these methods instead of calling
1.1069 - <code>Toolkit.getScreenSize()</code>. For the same reason
1.1070 - <code>Utilities.getScreenSize()</code> is now deprecated.
1.1071 - </description>
1.1072 - <class package="org.openide.util" name="Utilities"/>
1.1073 - <issue number="20882"/>
1.1074 - </change>
1.1075 -<change id="ErrorManager.getDefault">
1.1076 - <api name="util"/>
1.1077 - <summary>Added accessibility method ErrorManager.getDefault () that always returns non-null values</summary>
1.1078 - <version major="2" minor="1"/>
1.1079 - <date day="17" month="1" year="2002"/>
1.1080 - <author login="jtulach"/>
1.1081 - <compatibility addition="yes" modification="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no"/>
1.1082 - <description>
1.1083 - <p>
1.1084 - This method allows independent libraries (nodes, filesystems, utilities) to use the ErrorManager without
1.1085 - testing if it is really present. Just call <code>ErrorManager.getDefault ()</code> and you can be sure
1.1086 - that a valid instance will be returned.
1.1087 - </p>
1.1088 - <p>
1.1089 - Also <code>TopManager.getErrorManager</code> is no longer useful (<a href="#ErrorManager.getDefault" shape="rect">see change</a>) and is now deprecated.
1.1090 - It is also not abstract as it just delegates.
1.1091 - <code>notifyException</code> is similarly deprecated.
1.1092 - </p>
1.1093 - </description>
1.1094 - <class package="org.openide" name="ErrorManager"/>
1.1095 - <issue number="16854"/>
1.1096 - </change>
1.1097 - <change id="logging-added-to-error-manager" >
1.1098 - <api name="util"/>
1.1099 - <summary>
1.1100 -<code>ErrorManager.isLoggable</code> added</summary>
1.1101 - <date day="2" month="12" year="2000"/>
1.1102 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.1103 - <description>
1.1104 - <code>isLoggable(int severity)</code> added to <code>ErrorManager</code>.
1.1105 - </description>
1.1106 - <class package="org.openide" name="ErrorManager"/>
1.1107 - </change>
1.1108 -<change>
1.1109 - <api name="util"/>
1.1110 - <summary>Logging and hierarchy support added to <code>ErrorManager</code>
1.1111 -</summary>
1.1112 - <date day="18" month="8" year="2000"/>
1.1113 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.1114 - <description>
1.1115 - <code>getInstance(String name)</code>, <code>log(int severity, String s)</code>, and
1.1116 - <code>log(String s)</code> added to <code>ErrorManager</code>.
1.1117 - </description>
1.1118 - <class package="org.openide" name="ErrorManager"/>
1.1119 - </change>
1.1120 - <change>
1.1121 - <api name="xml"/>
1.1122 - <summary>Can register entity resolvers</summary>
1.1123 - <date day="20" month="12" year="2000"/>
1.1124 - <compatibility addition="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no">
1.1125 - Subsequently deprecated on <date day="3" month="3" year="2001"/> by
1.1126 - <a href="#created-XMLUtil" shape="rect">
1.1127 -<code>EntityCatalog</code>
1.1128 -</a>.
1.1129 - </compatibility>
1.1130 - <description>
1.1131 - <code>addEntityResolver</code> and <code>removeEntityResolver</code>
1.1132 - added. These methods allow a user to develop own implementation of
1.1133 - functionality similar to <code>registerCatalogEntry</code>. E.g. a user
1.1134 - can register <code>EntityResolver</code> that reads data from persistent
1.1135 - catalog avoiding bunch of calls to the register method in module
1.1136 - <code>restore</code> code.
1.1137 - </description>
1.1138 - <class package="org.openide.xml" name="EntityCatalog"/>
1.1139 - </change>
1.1140 -<change>
1.1141 - <api name="xml"/>
1.1142 - <summary>Updated DOM to level 2 and added document writability</summary>
1.1143 - <date day="26" month="1" year="2001"/>
1.1144 - <author login="pkuzel"/>
1.1145 - <compatibility modification="yes" binary="incompatible" source="incompatible" deprecation="yes" semantic="compatible" addition="no" deletion="no">
1.1146 - Any code implementing DOM interfaces could be broken by the level 2
1.1147 - interfaces. Clients of the DOM API should be unaffected.
1.1148 - </compatibility>
1.1149 - <description>
1.1150 - <ul>
1.1151 - <li>All level 1 <code>Document</code>s interfaces became level 2 ones.</li>
1.1152 - <li>Deprecated <code>write(Document, Writer)</code>
1.1153 - <p>A conflict between encoding declared in document and
1.1154 - actual Writer encoding can cause data loss. Suitable
1.1155 - just for UTF-8 and UTF-16 writers.
1.1156 - </p>
1.1157 - </li>
1.1158 - <li>introduced <code>write(Document, OutputStream, String encoding)</code>
1.1159 - <p>
1.1160 - The write method is supposed to be used as an implementation
1.1161 - independent way for writing DOM documents until self-writable
1.1162 - documents specification will be introduced. The self-writability
1.1163 - is considered to be a part of DOM level 3 specs.
1.1164 - </p>
1.1165 - <p>
1.1166 - Nowadays it is implemented that it can handle following DOM implementations:
1.1167 - </p>
1.1168 - <ul>
1.1169 - <li>Crimson</li>
1.1170 - <li>JAXP 1.0 reference implementation</li>
1.1171 - <li>All others using Apache's serializers if available.</li>
1.1172 - </ul>
1.1173 - </li>
1.1174 - </ul>
1.1175 - </description>
1.1176 - <class package="org.openide.xml" name="XMLUtil"/>
1.1177 - </change>
1.1178 -<change id="Utilities.topologicalSort">
1.1179 - <api name="util"/>
1.1180 - <summary>Improved method for topological sort</summary>
1.1181 - <version major="3" minor="30"/>
1.1182 - <date day="10" month="1" year="2003"/>
1.1183 - <author login="jglick"/>
1.1184 - <compatibility deprecation="yes" addition="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no"/>
1.1185 - <description>
1.1186 - The method <code>Utilities.topologicalSort</code> was added. It should be
1.1187 - faster and probably more robust than the older <code>partialSort</code>
1.1188 - method, which required a <code>Comparator</code>; the new method requires
1.1189 - a list of ordering constraints, which should be <i>O(n + m)</i>
1.1190 - rather than <i>O(n<sup>2</sup>)</i> (where <i>n</i> is the number of
1.1191 - nodes to sort and <i>m</i> the number of edges). If the graph is
1.1192 - not a DAG a <code>TopologicalSortException</code> is thrown containing
1.1193 - description of unsortable parts of the graph and the best partitial sort
1.1194 - that fullfils as much of ordering constraints as possible. These
1.1195 - information can be used for error reporting and recovery.
1.1196 - </description>
1.1197 - <class package="org.openide.util" name="Utilities"/>
1.1198 - <class package="org.openide.util" name="TopologicalSortException"/>
1.1199 - <issue number="27286"/>
1.1200 - </change>
1.1201 -<change>
1.1202 - <api name="xml"/>
1.1203 - <summary>Moved XML static methods into separate inner class</summary>
1.1204 - <date day="16" month="2" year="2001"/>
1.1205 - <author login="pkuzel"/>
1.1206 - <compatibility addition="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no">
1.1207 - <code>XMLDataObject.Util</code> itself deprecated on
1.1208 - <date day="3" month="3" year="2001"/> in favor of
1.1209 - <a href="#created-XMLUtil" shape="rect">
1.1210 -<code>XMLUtil</code>
1.1211 -</a>.
1.1212 - </compatibility>
1.1213 - <description>
1.1214 - <ul>
1.1215 - <li>
1.1216 - Deprecated all static: <code>write()</code>s, <code>parse()</code>s,
1.1217 - <code>createDocument()</code>, <code>createInputSource()</code> and
1.1218 - <code>createParser()</code>s methods.
1.1219 - </li>
1.1220 - <li>
1.1221 - Introduced public static inner class named <code>Util</code> providing
1.1222 - utility methods replacing deprecated ones.
1.1223 - </li>
1.1224 - </ul>
1.1225 - </description>
1.1226 - <class package="org.openide.xml" name="XMLUtil"/>
1.1227 - </change>
1.1228 - <change id="Mutex.Privileged">
1.1229 - <api name="util"/>
1.1230 - <summary>Permit privileged access to mutexes to avoid inner classes</summary>
1.1231 - <version major="1" minor="17"/>
1.1232 - <date day="27" month="6" year="2001"/>
1.1233 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.1234 - <description>
1.1235 - Added a new inner class and a constructor that takes an instance of that
1.1236 - inner class as a parameter. The inner class is <code>Privileged</code>.
1.1237 - Through its public methods one can enter internal states of the
1.1238 - <code>Mutex</code> to which it was passed.
1.1239 - </description>
1.1240 - <class package="org.openide.util" name="Mutex"/>
1.1241 - </change>
1.1242 -<change id="Task.notifyRunning">
1.1243 - <api name="util"/>
1.1244 - <summary>More flexibility in controlling running of tasks</summary>
1.1245 - <version major="1" minor="5"/>
1.1246 - <date day="27" month="4" year="2001"/>
1.1247 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.1248 - <description>
1.1249 - <code>Task</code> has new protected constructor for subclasses and
1.1250 - methods <code>notifyRunning ()</code> and also non-final version of
1.1251 - <code>waitFinished ()</code>.
1.1252 - </description>
1.1253 - <class package="org.openide.util" name="Task"/>
1.1254 - </change>
1.1255 - <change>
1.1256 - <api name="util"/>
1.1257 - <summary>
1.1258 - <code>ErrorManager.isNotifiable</code> added</summary>
1.1259 - <version major="3" minor="18"/>
1.1260 - <date day="3" month="11" year="2002"/>
1.1261 - <author login="jglick"/>
1.1262 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no">
1.1263 - Existing code which assumes (incorrectly) that <code>isLoggable</code>
1.1264 - can be used for this purpose, or which calls <code>notify</code> at a low
1.1265 - level such as <code>INFORMATIONAL</code> without first checking
1.1266 - <code>isNotifiable</code> for efficiency, should be revised.
1.1267 - </compatibility>
1.1268 - <description>
1.1269 - The method <code>ErrorManager.isNotifiable</code> was added to capture
1.1270 - the fact that an error manager implementation might be more aggressive
1.1271 - about displaying stack traces than log messages.
1.1272 - </description>
1.1273 - <class package="org.openide" name="ErrorManager"/>
1.1274 - <issue number="24056"/>
1.1275 - </change>
1.1276 - <change id="clone-service-type" >
1.1277 - <api name="util"/>
1.1278 - <summary>
1.1279 - <code>ServiceType.createClone</code> added</summary>
1.1280 - <date day="30" month="11" year="2000"/>
1.1281 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no">Subclasses are encouraged to implement <code>Cloneable</code>.</compatibility>
1.1282 - <description>
1.1283 - <code>public final ServiceType createClone()</code> added.
1.1284 - </description>
1.1285 - <class package="org.openide" name="ServiceType"/>
1.1286 - </change>
1.1287 -<change>
1.1288 - <api name="util"/>
1.1289 - <summary>Icon & image cache manager added</summary>
1.1290 - <date day="9" month="3" year="2001"/>
1.1291 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.1292 - <description>
1.1293 - Loading icons and images can be done through
1.1294 - <code>Utilities.loadImage()</code> that uses cache to avoid duplicate
1.1295 - loading of images. <code>mergeImages</code> uses the cache, too, for the
1.1296 - results of merge.
1.1297 - </description>
1.1298 - <class package="org.openide.util" name="Utilities"/>
1.1299 - </change>
1.1300 -<change>
1.1301 - <api name="util"/>
1.1302 - <summary>Updated DEC -> Compaq OS names</summary>
1.1303 - <date day="15" month="12" year="2000"/>
1.1304 - <compatibility modification="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" addition="no" deletion="no"/>
1.1305 - <description>
1.1306 - Operating system <code>OS_DEC</code> changed to <code>OS_TRU64</code>,
1.1307 - and added <code>OS_VMS</code>.
1.1308 - </description>
1.1309 - <class package="org.openide.util" name="Utilities"/>
1.1310 - </change>
1.1311 -<change>
1.1312 - <api name="util"/>
1.1313 - <summary>Proper break iterators used when wrapping text strings</summary>
1.1314 - <date day="11" month="8" year="2000"/>
1.1315 - <compatibility modification="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" addition="no" deletion="no">
1.1316 - Deprecated version first removed, later re-added with deprecation in the
1.1317 - trunk.
1.1318 - </compatibility>
1.1319 - <description>
1.1320 - Added method <code>wrapString</code> which uses
1.1321 - <code>BreakIterator</code> instead of a flag and a heuristic solution.
1.1322 - <code>wrapString(String,int,boolean,boolean)</code> deprecated.
1.1323 - </description>
1.1324 - <class package="org.openide.util" name="Utilities"/>
1.1325 - </change>
1.1326 -<change>
1.1327 - <api name="util"/>
1.1328 - <summary>Support for merging icons added</summary>
1.1329 - <date day="25" month="1" year="2001"/>
1.1330 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.1331 - <description>
1.1332 - Added method <code>mergeImages(Image image1, Image image2, int x, int
1.1333 - y)</code> for merging images.
1.1334 - </description>
1.1335 - <class package="org.openide.util" name="Utilities"/>
1.1336 - </change>
1.1337 -<change>
1.1338 - <api name="util"/>
1.1339 - <summary>Can get a list of localizing suffixes</summary>
1.1340 - <date day="1" month="1" year="2001"/>
1.1341 - <author login="jglick"/>
1.1342 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.1343 - <description>
1.1344 - <code>getLocalizingSuffixes</code> added.
1.1345 - </description>
1.1346 - <class package="org.openide.util" name="NbBundle"/>
1.1347 - </change>
1.1348 -<change>
1.1349 - <api name="util"/>
1.1350 - <summary>Can find localized variants of extensionless resources</summary>
1.1351 - <date day="6" month="10" year="2000"/>
1.1352 - <author login="jglick"/>
1.1353 - <compatibility modification="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" addition="no" deletion="no"/>
1.1354 - <description>
1.1355 - <code>getLocalizedFile</code> now accepts <code>null</code> extensions
1.1356 - to suppress the addition of a dot to the resource name.
1.1357 - </description>
1.1358 - <class package="org.openide.util" name="NbBundle"/>
1.1359 - </change>
1.1360 -<change>
1.1361 - <api name="util"/>
1.1362 - <summary>Added search for branded variants as part of locale lookup</summary>
1.1363 - <date day="20" month="7" year="2000"/>
1.1364 - <author login="jglick"/>
1.1365 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.1366 - <description>
1.1367 - Added methods <code>getBranding</code> and <code>setBranding</code>.
1.1368 - Normally these should only be called by the core implementation during
1.1369 - startup, not module authors. All methods to look up localized objects
1.1370 - may now also search for branded variants, if applicable.
1.1371 - </description>
1.1372 - <class package="org.openide.util" name="NbBundle"/>
1.1373 - </change>
1.1374 -<change>
1.1375 - <api name="util"/>
1.1376 - <summary>Classloader finder for <code>NbBundle</code> is obsolete</summary>
1.1377 - <date day="11" month="4" year="2000"/>
1.1378 - <compatibility deletion="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" addition="no" modification="no">
1.1379 - First removed, later re-added but deprecated in trunk and
1.1380 - <code>boston</code>. No one outside of <code>NbBundle</code> and the
1.1381 - core implementation should have been using these classes to begin with.
1.1382 - </compatibility>
1.1383 - <description>
1.1384 - <code>NbBundle.ClassLoaderFinder</code> and
1.1385 - <code>NbBundle.setClassLoaderFinder</code> have been deprecated; they
1.1386 - were quite obsolete.
1.1387 - </description>
1.1388 - <class package="org.openide.util" name="NbBundle"/>
1.1389 - </change>
1.1390 -<change>
1.1391 - <api name="util"/>
1.1392 - <summary>Special exception thrown to request interaction with user</summary>
1.1393 - <date day="5" month="3" year="2001"/>
1.1394 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.1395 - <description>
1.1396 - Added the first revision. This exception is thrown when a process is
1.1397 - about to perform some action that requires user confirmation.
1.1398 - </description>
1.1399 - <class package="org.openide.util" name="UserQuestionException"/>
1.1400 - </change>
1.1401 -<change>
1.1402 - <api name="util"/>
1.1403 - <summary>
1.1404 -<code>SafeException</code> is a <code>FoldingIOException</code>
1.1405 -</summary>
1.1406 - <date day="9" month="3" year="2000"/>
1.1407 - <compatibility modification="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" addition="no" deletion="no"/>
1.1408 - <description>
1.1409 - Now extends <code>FoldingIOException</code>, meaning that it should
1.1410 - delegate the detail message, etc. to the original.
1.1411 - </description>
1.1412 - <class package="org.openide.util.io" name="SafeException"/>
1.1413 - </change>
1.1414 - <change id="created-XMLUtil">
1.1415 - <api name="xml"/>
1.1416 - <summary>Independent XML API created</summary>
1.1417 - <date day="3" month="3" year="2001"/>
1.1418 - <author login="pkuzel"/>
1.1419 - <compatibility addition="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no"/>
1.1420 - <description>
1.1421 - <code>XMLUtil</code> utility class introduced. The class provides set of
1.1422 - static methods useful for XML processing. <code>EntityCatalog</code>
1.1423 - class introduced. It provides access to entity mapping registrations
1.1424 - provided by installed modules.
1.1425 - </description>
1.1426 - <class package="org.openide.xml" name="XMLUtil"/>
1.1427 - <class package="org.openide.xml" name="EntityCatalog"/>
1.1428 - <package name="org.openide.xml"/>
1.1429 - </change>
1.1430 - <change id="XMLUtil-1.29">
1.1431 - <api name="xml"/>
1.1432 - <summary>XML attribute and hexadecimal utilities added</summary>
1.1433 - <version major="1" minor="29"/>
1.1434 - <date day="8" month="8" year="2001"/>
1.1435 - <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
1.1436 - <description>
1.1437 - <code>toAttribute(String, char, boolean)</code>, <code>toContent(String,
1.1438 - boolean)</code>, <code>toHex(byte[], int, int)</code> and
1.1439 - <code>fromHex(char[], int, int)</code> methods added.
1.1440 - </description>
1.1441 - <class package="org.openide.xml" name="XMLUtil"/>
1.1442 - </change>
1.1443 - <change>
1.1444 - <api name="xml"/>
1.1445 - <summary>XML attribute and hexadecimal utilities modified</summary>
1.1446 - <version major="1" minor="40"/>
1.1447 - <date day="18" month="10" year="2001"/>
1.1448 - <compatibility binary="incompatible" source="incompatible" modification="yes" semantic="compatible" deprecation="no" addition="no" deletion="no">
1.1449 - The original versions of these methods were not in any public release.
1.1450 - </compatibility>
1.1451 - <description>
1.1452 - <code>toAttribute(String, char, boolean)</code> method replaced by
1.1453 - <code>toAttributeValue(String)</code>
1.1454 - and
1.1455 - <code>toContent(String, boolean)</code> method replaced by
1.1456 - <code>toElementContent(String)</code>. These new simplified
1.1457 - signatures and particular semantics should cover 99% usage of
1.1458 - previous ones. See the original <a href="#XMLUtil-1.29" shape="rect">additions</a>.
1.1459 - </description>
1.1460 - <class package="org.openide.xml" name="XMLUtil"/>
1.1461 - <issue number="16629"/>
1.1462 - </change>
1.1463 -</changes>
1.1464 -<htmlcontents>
1.1465 -<head>
1.1466 -<title>Change History for the Utilities API</title>
1.1467 -<link rel="stylesheet" href="prose.css" type="text/css"/>
1.1468 -</head>
1.1469 -<body>
1.1470 -<p class="overviewlink">
1.1471 -<a href="overview-summary.html">Overview</a>
1.1472 -</p>
1.1473 -<h1>Introduction</h1>
1.1474 -<h2>What do the Dates Mean?</h2>
1.1475 -<p>The supplied dates indicate when the API change was made, on the CVS
1.1476 -trunk. From this you can generally tell whether the change should be
1.1477 -present in a given build or not; for trunk builds, simply whether it
1.1478 -was made before or after the change; for builds on a stabilization
1.1479 -branch, whether the branch was made before or after the given date. In
1.1480 -some cases corresponding API changes have been made both in the trunk
1.1481 -and in an in-progress stabilization branch, if they were needed for a
1.1482 -bug fix; this ought to be marked in this list.</p>
1.1483 -<ul>
1.1484 -<li>The <code>release41</code> branch was made on Apr 03 '05 for use in the NetBeans 4.1 release.
1.1485 -Specification versions: 6.0 begins after this point.</li>
1.1486 -<li>The <code>release40</code> branch was made on Nov 01 '04 for use in the NetBeans 4.0 release.
1.1487 -Specification versions: 5.0 begins after this point.</li>
1.1488 -</ul>
1.1489 -<hr/>
1.1490 -<standard-changelists module-code-name="$codebase"/>
1.1491 -<hr/>
1.1492 -<p>@FOOTER@</p>
1.1493 -</body>
1.1494 -</htmlcontents>
1.1495 -</apichanges>