Monday, April 4, 2011

Groovy Script for Comparing Javadoc Versions

This blog post contains a code listing for Groovy code that can be used to compare new or removed Javadoc files between major versions of the Java SDK. After the code is shown, I list the output of the script comparing JDK 1.3 to JDK 1.4, comparing JDK 1.4 to J2SE 5, comparing J2SE 5 to Java SE 6, and comparing Java SE 6 to Java SE 7.

Christian Ullenboom, in a feedback comment on my post JDK 7: New Interfaces, Classes, Enums, and Methods, pointed out a much fancier approach for determining API changes between various versions of Java. He referenced the LGPL-licensed project jdiff, which is described on its main page as "An HTML Report of API Differences." This tool can be used to compare two versions of any Java product and is not limited to comparing the Java SDKs. It is much more elaborate than what I'm showing here because it presents the results in HTML format and provides statistics.

Athough jdiff is obviously the Cadillac of differencing versions, I decided to post this simple Groovy script anyway because I think it provides a nice example of some of Groovy's features. Additionally, it's a nice, lightweight approach to analyzing API additions and removals between major versions of Java. Unlike jdiff, this simple script does not analyze field-level or method-level changes (modifications, removals, additions). An advantage of this approach is that only the Javadoc documentation readily available online is used with no need for access to the source code or class files of the two versions.

diffJdkVersionsJavadocs.groovy
#!/usr/bin/env groovy
// diffJdkVersionsJavadocs.groovy

def cli = new CliBuilder(
   usage: 'diffJdkVersionsJavadocs -o <version_number> -n <version_number>',
   header: '\nAvailable options (use -h for help):\n',
   footer: '<version_number> should be one of the following:\n3 (JDK 1.3)\n4 (JDK 1.4)\n5 (J2SE 5)\n6 (Java SE 6)\n7 (Java SE 7)')
import org.apache.commons.cli.Option
cli.with
{
   h(longOpt: 'help', 'Usage Information', required: false)
   o(longOpt: 'old', 'Old Version', args: 1, required: true, type: Integer)
   n(longOpt: 'new', 'New Version', args: 1, required: true, type: Integer)
}
def opt = cli.parse(args)

if (!opt) return
if (opt.h) cli.usage()

@Grab(group='org.ccil.cowan.tagsoup', module='tagsoup', version='0.9.7')

def versionMap = [3 : "JDK 1.3", 4 : "JDK 1.4", 5 : "J2SE 5", 6 : "Java SE 6", 7 : "Java SE 7"]

def javadocMap = [(versionMap.get(7)) : "http://download.oracle.com/javase/7/docs/api/allclasses-frame.html",
                  (versionMap.get(6)) : "http://download.oracle.com/javase/6/docs/api/allclasses-frame.html",
                  (versionMap.get(5)) : "http://download.oracle.com/javase/1.5.0/docs/api/allclasses-frame.html",
                  (versionMap.get(4)) : "http://download.oracle.com/javase/1.4.2/docs/api/allclasses-frame.html",
                  (versionMap.get(3)) : "http://download.oracle.com/javase/1.3/docs/api/allclasses-frame.html"]

def oldVersion = extractVersionStringFromChoice(opt.o, versionMap.get(6), versionMap)
def newVersion = extractVersionStringFromChoice(opt.n, versionMap.get(7), versionMap)

def first = javadocMap.get(newVersion)
def firstDescription = newVersion
def second = javadocMap.get(oldVersion)
def secondDescription = oldVersion

def firstXml = new XmlParser(new org.ccil.cowan.tagsoup.Parser()).parse(first)
def firstUrls = firstXml.'**'.a.@href

def secondXml = new XmlParser(new org.ccil.cowan.tagsoup.Parser()).parse(second)
def secondUrls = secondXml.'**'.a.@href

println "${firstDescription} URLs found: ${firstUrls.size()}"
println "${secondDescription} URLs found: ${secondUrls.size()}"

compareSetsOfStrings(secondUrls, secondDescription, firstUrls, firstDescription)


/**
 * Extract a version String from the provided Integer-based choice. If the
 * provided Choice is not an Integer, the provided default String is returned.
 *
 * @param userChoice Choice that should resolve to an Integer.
 * @param defaultString String to be returned if provided Choice is not an
 *    Integer.
 * @param versions Mapping of integers to version Strings.
 *
 * @return Version string.
 */
def String extractVersionStringFromChoice(
   Object userChoice, String defaultString, Map<Integer, String> versions)
{
   def choice = 0
   try
   {
      choice = userChoice != null ? userChoice as Integer : 0
   }
   catch (NumberFormatException nfe)
   {
      choice = 0
      println "'${userChoice}' is not and cannot be converted to an Integer; using '${defaultString}'"
   }
   def versionString = (choice < 3 || choice > 7) ? defaultString : versions.get(choice)
   return versionString
}


/**
 * Compare first Collection of Strings to second Collection of Strings by
 * identifying which Strings are in each Collection that are not in the other.
 *
 * @param firstStrings First Collection of Strings to be compared.
 * @param firstDescription Description of first Collection of Strings.
 * @param secondStrings Second Collection of Strings to be compared.
 * @param secondDescription Description of second Collection of Strings.
 */
def void compareSetsOfStrings(
   Collection<String> firstStrings, String firstDescription,
   Collection<String> secondStrings, String secondDescription)
{
   println "Constructs in ${firstDescription} But Not in ${secondDescription}"
   def firstButNotSecond = firstStrings - secondStrings
   printIndentedStrings(firstButNotSecond)

   println "Constructs in ${secondDescription} But Not in ${firstDescription}"
   def secondButNotFirst = secondStrings - firstStrings
   printIndentedStrings(secondButNotFirst)
}


/**
 * Print the provided Strings one per line indented; prints "None" if the
 * provided List of Strings is empty or null.
 *
 * @param strings The Strings to be printed
 */
def void printIndentedStrings(Collection<String> strings)
{
   if (!strings?.isEmpty())
   {
      new TreeSet(strings).each
      {
         println "\t${it}"
      }
   }
   else
   {
      println "\tNone"
   }   
}

The above script shows off many Groovy niceties:

That simple script has a whole lot of Groovy goodness!

The script is run with the -o ("old" version) option specifying an integral numeral between 3 and 7 a similar -n option with the same range specifying the "new version." It doesn't matter to the script if the "old" version is higher than the "new" version or even the same, but the output is likely to be more appealing if the "new" version is the later version. The script's command-line usage informs the user of which versions of the Java SDK correspond to the integers 3 through 7. This is shown in the next screen snapshot in which the usage is shown because I failed to provide the required options -o and -n.


The output above indicates that "3" should be provided for JDK 1.3, "4" for JDK 1.4, "5" for J2SE 5, "6" for Java SE 6, and "7" for Java SE 7. In the remainder of this post, I run the script and list its output for comparing consecutive versions (1.3 to 1.4, 1.4 to 1.5, 1.5 to 1.6, and 1.6 to 1.7).


Java SE 6 and Java SE 7

The script I listed and demonstrated in JDK 7: New Interfaces, Classes, Enums, and Methods more completely compared Java SE 6 and Java SE 7 than the script in this post does. That post, as well as kellyrob99's enhanced version, showed Javadoc files for which even methods or fields had been marked with "1.7." The script featured in this post focuses solely on Javadoc files added or removed from one version to the next and does not count modified files or new/changed/deleted methods or fields.

Java SE 7 URLs found: 4020
Java SE 6 URLs found: 3793
Constructs in Java SE 6 But Not in Java SE 7
 None
Constructs in Java SE 7 But Not in Java SE 6
 java/awt/GraphicsDevice.WindowTranslucency.html
 java/awt/SecondaryLoop.html
 java/awt/Window.Type.html
 java/awt/font/NumericShaper.Range.html
 java/beans/Transient.html
 java/dyn/CallSite.html
 java/dyn/ClassValue.html
 java/dyn/ConstantCallSite.html
 java/dyn/InvokeDynamicBootstrapError.html
 java/dyn/Linkage.html
 java/dyn/MethodHandle.html
 java/dyn/MethodHandles.Lookup.html
 java/dyn/MethodHandles.html
 java/dyn/MethodType.html
 java/dyn/MutableCallSite.html
 java/dyn/SwitchPoint.html
 java/dyn/VolatileCallSite.html
 java/dyn/WrongMethodTypeException.html
 java/lang/AutoCloseable.html
 java/lang/Character.UnicodeScript.html
 java/lang/ProcessBuilder.Redirect.Type.html
 java/lang/ProcessBuilder.Redirect.html
 java/lang/ReflectiveOperationException.html
 java/lang/SafeVarargs.html
 java/lang/management/PlatformManagedObject.html
 java/net/ProtocolFamily.html
 java/net/SocketOption.html
 java/net/StandardProtocolFamily.html
 java/net/StandardSocketOption.html
 java/nio/BufferPoolMXBean.html
 java/nio/channels/AcceptPendingException.html
 java/nio/channels/AlreadyBoundException.html
 java/nio/channels/AsynchronousByteChannel.html
 java/nio/channels/AsynchronousChannel.html
 java/nio/channels/AsynchronousChannelGroup.html
 java/nio/channels/AsynchronousFileChannel.html
 java/nio/channels/AsynchronousServerSocketChannel.html
 java/nio/channels/AsynchronousSocketChannel.html
 java/nio/channels/CompletionHandler.html
 java/nio/channels/IllegalChannelGroupException.html
 java/nio/channels/InterruptedByTimeoutException.html
 java/nio/channels/MembershipKey.html
 java/nio/channels/MulticastChannel.html
 java/nio/channels/NetworkChannel.html
 java/nio/channels/ReadPendingException.html
 java/nio/channels/SeekableByteChannel.html
 java/nio/channels/ShutdownChannelGroupException.html
 java/nio/channels/WritePendingException.html
 java/nio/channels/spi/AsynchronousChannelProvider.html
 java/nio/file/AccessDeniedException.html
 java/nio/file/AccessMode.html
 java/nio/file/AtomicMoveNotSupportedException.html
 java/nio/file/ClosedDirectoryStreamException.html
 java/nio/file/ClosedFileSystemException.html
 java/nio/file/ClosedWatchServiceException.html
 java/nio/file/CopyOption.html
 java/nio/file/DirectoryIteratorException.html
 java/nio/file/DirectoryNotEmptyException.html
 java/nio/file/DirectoryStream.Filter.html
 java/nio/file/DirectoryStream.html
 java/nio/file/FileAlreadyExistsException.html
 java/nio/file/FileStore.html
 java/nio/file/FileSystem.html
 java/nio/file/FileSystemAlreadyExistsException.html
 java/nio/file/FileSystemException.html
 java/nio/file/FileSystemLoopException.html
 java/nio/file/FileSystemNotFoundException.html
 java/nio/file/FileSystems.html
 java/nio/file/FileVisitOption.html
 java/nio/file/FileVisitResult.html
 java/nio/file/FileVisitor.html
 java/nio/file/Files.html
 java/nio/file/InvalidPathException.html
 java/nio/file/LinkOption.html
 java/nio/file/LinkPermission.html
 java/nio/file/NoSuchFileException.html
 java/nio/file/NotDirectoryException.html
 java/nio/file/NotLinkException.html
 java/nio/file/OpenOption.html
 java/nio/file/Path.html
 java/nio/file/PathMatcher.html
 java/nio/file/Paths.html
 java/nio/file/ProviderMismatchException.html
 java/nio/file/ProviderNotFoundException.html
 java/nio/file/ReadOnlyFileSystemException.html
 java/nio/file/SecureDirectoryStream.html
 java/nio/file/SimpleFileVisitor.html
 java/nio/file/StandardCopyOption.html
 java/nio/file/StandardOpenOption.html
 java/nio/file/StandardWatchEventKind.html
 java/nio/file/WatchEvent.Kind.html
 java/nio/file/WatchEvent.Modifier.html
 java/nio/file/WatchEvent.html
 java/nio/file/WatchKey.html
 java/nio/file/WatchService.html
 java/nio/file/Watchable.html
 java/nio/file/attribute/AclEntry.Builder.html
 java/nio/file/attribute/AclEntry.html
 java/nio/file/attribute/AclEntryFlag.html
 java/nio/file/attribute/AclEntryPermission.html
 java/nio/file/attribute/AclEntryType.html
 java/nio/file/attribute/AclFileAttributeView.html
 java/nio/file/attribute/AttributeView.html
 java/nio/file/attribute/BasicFileAttributeView.html
 java/nio/file/attribute/BasicFileAttributes.html
 java/nio/file/attribute/DosFileAttributeView.html
 java/nio/file/attribute/DosFileAttributes.html
 java/nio/file/attribute/FileAttribute.html
 java/nio/file/attribute/FileAttributeView.html
 java/nio/file/attribute/FileOwnerAttributeView.html
 java/nio/file/attribute/FileStoreAttributeView.html
 java/nio/file/attribute/FileTime.html
 java/nio/file/attribute/GroupPrincipal.html
 java/nio/file/attribute/PosixFileAttributeView.html
 java/nio/file/attribute/PosixFileAttributes.html
 java/nio/file/attribute/PosixFilePermission.html
 java/nio/file/attribute/PosixFilePermissions.html
 java/nio/file/attribute/UserDefinedFileAttributeView.html
 java/nio/file/attribute/UserPrincipal.html
 java/nio/file/attribute/UserPrincipalLookupService.html
 java/nio/file/attribute/UserPrincipalNotFoundException.html
 java/nio/file/spi/FileSystemProvider.html
 java/nio/file/spi/FileTypeDetector.html
 java/security/AlgorithmConstraints.html
 java/security/CryptoPrimitive.html
 java/security/cert/CRLReason.html
 java/security/cert/CertPathValidatorException.BasicReason.html
 java/security/cert/CertPathValidatorException.Reason.html
 java/security/cert/CertificateRevokedException.html
 java/security/cert/Extension.html
 java/security/cert/PKIXReason.html
 java/sql/PseudoColumnUsage.html
 java/util/IllformedLocaleException.html
 java/util/Locale.Builder.html
 java/util/Locale.Category.html
 java/util/Objects.html
 java/util/concurrent/ConcurrentLinkedDeque.html
 java/util/concurrent/ForkJoinPool.ForkJoinWorkerThreadFactory.html
 java/util/concurrent/ForkJoinPool.ManagedBlocker.html
 java/util/concurrent/ForkJoinPool.html
 java/util/concurrent/ForkJoinTask.html
 java/util/concurrent/ForkJoinWorkerThread.html
 java/util/concurrent/LinkedTransferQueue.html
 java/util/concurrent/Phaser.html
 java/util/concurrent/RecursiveAction.html
 java/util/concurrent/RecursiveTask.html
 java/util/concurrent/ThreadLocalRandom.html
 java/util/concurrent/TransferQueue.html
 java/util/logging/PlatformLoggingMXBean.html
 javax/lang/model/UnknownEntityException.html
 javax/lang/model/element/Parameterizable.html
 javax/lang/model/element/QualifiedNameable.html
 javax/lang/model/type/DisjunctiveType.html
 javax/lang/model/util/AbstractAnnotationValueVisitor7.html
 javax/lang/model/util/AbstractElementVisitor7.html
 javax/lang/model/util/AbstractTypeVisitor7.html
 javax/lang/model/util/ElementKindVisitor7.html
 javax/lang/model/util/ElementScanner7.html
 javax/lang/model/util/SimpleAnnotationValueVisitor7.html
 javax/lang/model/util/SimpleElementVisitor7.html
 javax/lang/model/util/SimpleTypeVisitor7.html
 javax/lang/model/util/TypeKindVisitor7.html
 javax/net/ssl/ExtendedSSLSession.html
 javax/net/ssl/X509ExtendedTrustManager.html
 javax/print/attribute/standard/DialogTypeSelection.html
 javax/sound/midi/MidiDeviceReceiver.html
 javax/sound/midi/MidiDeviceTransmitter.html
 javax/sql/rowset/RowSetFactory.html
 javax/sql/rowset/RowSetProvider.html
 javax/swing/JLayer.html
 javax/swing/Painter.html
 javax/swing/border/StrokeBorder.html
 javax/swing/plaf/LayerUI.html
 javax/swing/plaf/nimbus/AbstractRegionPainter.PaintContext.CacheMode.html
 javax/swing/plaf/nimbus/AbstractRegionPainter.PaintContext.html
 javax/swing/plaf/nimbus/AbstractRegionPainter.html
 javax/swing/plaf/nimbus/NimbusLookAndFeel.html
 javax/swing/plaf/nimbus/NimbusStyle.html
 javax/swing/plaf/nimbus/State.html
 javax/swing/plaf/synth/SynthButtonUI.html
 javax/swing/plaf/synth/SynthCheckBoxMenuItemUI.html
 javax/swing/plaf/synth/SynthCheckBoxUI.html
 javax/swing/plaf/synth/SynthColorChooserUI.html
 javax/swing/plaf/synth/SynthComboBoxUI.html
 javax/swing/plaf/synth/SynthDesktopIconUI.html
 javax/swing/plaf/synth/SynthDesktopPaneUI.html
 javax/swing/plaf/synth/SynthEditorPaneUI.html
 javax/swing/plaf/synth/SynthFormattedTextFieldUI.html
 javax/swing/plaf/synth/SynthInternalFrameUI.html
 javax/swing/plaf/synth/SynthLabelUI.html
 javax/swing/plaf/synth/SynthListUI.html
 javax/swing/plaf/synth/SynthMenuBarUI.html
 javax/swing/plaf/synth/SynthMenuItemUI.html
 javax/swing/plaf/synth/SynthMenuUI.html
 javax/swing/plaf/synth/SynthOptionPaneUI.html
 javax/swing/plaf/synth/SynthPanelUI.html
 javax/swing/plaf/synth/SynthPasswordFieldUI.html
 javax/swing/plaf/synth/SynthPopupMenuUI.html
 javax/swing/plaf/synth/SynthProgressBarUI.html
 javax/swing/plaf/synth/SynthRadioButtonMenuItemUI.html
 javax/swing/plaf/synth/SynthRadioButtonUI.html
 javax/swing/plaf/synth/SynthRootPaneUI.html
 javax/swing/plaf/synth/SynthScrollBarUI.html
 javax/swing/plaf/synth/SynthScrollPaneUI.html
 javax/swing/plaf/synth/SynthSeparatorUI.html
 javax/swing/plaf/synth/SynthSliderUI.html
 javax/swing/plaf/synth/SynthSpinnerUI.html
 javax/swing/plaf/synth/SynthSplitPaneUI.html
 javax/swing/plaf/synth/SynthTabbedPaneUI.html
 javax/swing/plaf/synth/SynthTableHeaderUI.html
 javax/swing/plaf/synth/SynthTableUI.html
 javax/swing/plaf/synth/SynthTextAreaUI.html
 javax/swing/plaf/synth/SynthTextFieldUI.html
 javax/swing/plaf/synth/SynthTextPaneUI.html
 javax/swing/plaf/synth/SynthToggleButtonUI.html
 javax/swing/plaf/synth/SynthToolBarUI.html
 javax/swing/plaf/synth/SynthToolTipUI.html
 javax/swing/plaf/synth/SynthTreeUI.html
 javax/swing/plaf/synth/SynthUI.html
 javax/swing/plaf/synth/SynthViewportUI.html
 javax/xml/bind/JAXBPermission.html
 javax/xml/ws/EndpointContext.html
 javax/xml/ws/soap/AddressingFeature.Responses.html
 javax/xml/ws/spi/Invoker.html
 javax/xml/ws/spi/http/HttpContext.html
 javax/xml/ws/spi/http/HttpExchange.html
 javax/xml/ws/spi/http/HttpHandler.html

Even without changed fields and methods identified, the output of the script comparing Java SE 6 to Java SE 7 is interesting. Not surprisingly, no constructs (classes/interfaces/enumns) were removed between Java SE 6 and Java SE 7, but there are many new ones (4020 - 3793 = 227 new constructs). I don't focus much on the new things here because I have covered that in other posts such as JDK 7: New Interfaces, Classes, Enums, and Methods.


J2SE 5 and Java SE 6

For me, this is one of the more interesting deltas because there is actually a construct dropped! According to this script's output when comparing J2SE 5 to Java SE 6, the javax.management.timer.TimerAlarmClockNotification class is removed in Java SE 6 without breaking backwards compatibility (part of Java SE 6 JMX improvements). Looking at the J2SE 5 documentation for this class tells us why it's not available in the public API: "Deprecated. This class is of no use to user code. It is retained purely for compatibility reasons." With this "removed" class in mind, the number of new classes/interfaces/enums in Java SE 6 is 515 (3793 - 3279 + 1).

Java SE 6 URLs found: 3793
J2SE 5 URLs found: 3279
Constructs in J2SE 5 But Not in Java SE 6
 javax/management/timer/TimerAlarmClockNotification.html
Constructs in Java SE 6 But Not in J2SE 5
 java/awt/Component.BaselineResizeBehavior.html
 java/awt/Desktop.Action.html
 java/awt/Desktop.html
 java/awt/Dialog.ModalExclusionType.html
 java/awt/Dialog.ModalityType.html
 java/awt/GridBagLayoutInfo.html
 java/awt/LinearGradientPaint.html
 java/awt/MultipleGradientPaint.ColorSpaceType.html
 java/awt/MultipleGradientPaint.CycleMethod.html
 java/awt/MultipleGradientPaint.html
 java/awt/RadialGradientPaint.html
 java/awt/SplashScreen.html
 java/awt/SystemTray.html
 java/awt/TrayIcon.MessageType.html
 java/awt/TrayIcon.html
 java/awt/font/LayoutPath.html
 java/awt/geom/Path2D.Double.html
 java/awt/geom/Path2D.Float.html
 java/awt/geom/Path2D.html
 java/beans/ConstructorProperties.html
 java/io/Console.html
 java/io/IOError.html
 java/lang/management/LockInfo.html
 java/lang/management/MonitorInfo.html
 java/net/CookieManager.html
 java/net/CookiePolicy.html
 java/net/CookieStore.html
 java/net/HttpCookie.html
 java/net/IDN.html
 java/net/InterfaceAddress.html
 java/security/Policy.Parameters.html
 java/security/PolicySpi.html
 java/security/URIParameter.html
 java/sql/ClientInfoStatus.html
 java/sql/NClob.html
 java/sql/RowId.html
 java/sql/RowIdLifetime.html
 java/sql/SQLClientInfoException.html
 java/sql/SQLDataException.html
 java/sql/SQLFeatureNotSupportedException.html
 java/sql/SQLIntegrityConstraintViolationException.html
 java/sql/SQLInvalidAuthorizationSpecException.html
 java/sql/SQLNonTransientConnectionException.html
 java/sql/SQLNonTransientException.html
 java/sql/SQLRecoverableException.html
 java/sql/SQLSyntaxErrorException.html
 java/sql/SQLTimeoutException.html
 java/sql/SQLTransactionRollbackException.html
 java/sql/SQLTransientConnectionException.html
 java/sql/SQLTransientException.html
 java/sql/SQLXML.html
 java/sql/Wrapper.html
 java/text/Normalizer.Form.html
 java/text/Normalizer.html
 java/text/spi/BreakIteratorProvider.html
 java/text/spi/CollatorProvider.html
 java/text/spi/DateFormatProvider.html
 java/text/spi/DateFormatSymbolsProvider.html
 java/text/spi/DecimalFormatSymbolsProvider.html
 java/text/spi/NumberFormatProvider.html
 java/util/AbstractMap.SimpleEntry.html
 java/util/AbstractMap.SimpleImmutableEntry.html
 java/util/ArrayDeque.html
 java/util/Deque.html
 java/util/NavigableMap.html
 java/util/NavigableSet.html
 java/util/ResourceBundle.Control.html
 java/util/ServiceConfigurationError.html
 java/util/ServiceLoader.html
 java/util/concurrent/BlockingDeque.html
 java/util/concurrent/ConcurrentNavigableMap.html
 java/util/concurrent/ConcurrentSkipListMap.html
 java/util/concurrent/ConcurrentSkipListSet.html
 java/util/concurrent/LinkedBlockingDeque.html
 java/util/concurrent/RunnableFuture.html
 java/util/concurrent/RunnableScheduledFuture.html
 java/util/concurrent/locks/AbstractOwnableSynchronizer.html
 java/util/concurrent/locks/AbstractQueuedLongSynchronizer.html
 java/util/spi/CurrencyNameProvider.html
 java/util/spi/LocaleNameProvider.html
 java/util/spi/LocaleServiceProvider.html
 java/util/spi/TimeZoneNameProvider.html
 java/util/zip/DeflaterInputStream.html
 java/util/zip/InflaterOutputStream.html
 java/util/zip/ZipError.html
 javax/activation/ActivationDataFlavor.html
 javax/activation/CommandInfo.html
 javax/activation/CommandMap.html
 javax/activation/CommandObject.html
 javax/activation/DataContentHandler.html
 javax/activation/DataContentHandlerFactory.html
 javax/activation/DataHandler.html
 javax/activation/DataSource.html
 javax/activation/FileDataSource.html
 javax/activation/FileTypeMap.html
 javax/activation/MailcapCommandMap.html
 javax/activation/MimeType.html
 javax/activation/MimeTypeParameterList.html
 javax/activation/MimeTypeParseException.html
 javax/activation/MimetypesFileTypeMap.html
 javax/activation/URLDataSource.html
 javax/activation/UnsupportedDataTypeException.html
 javax/annotation/Generated.html
 javax/annotation/PostConstruct.html
 javax/annotation/PreDestroy.html
 javax/annotation/Resource.AuthenticationType.html
 javax/annotation/Resource.html
 javax/annotation/Resources.html
 javax/annotation/processing/AbstractProcessor.html
 javax/annotation/processing/Completion.html
 javax/annotation/processing/Completions.html
 javax/annotation/processing/Filer.html
 javax/annotation/processing/FilerException.html
 javax/annotation/processing/Messager.html
 javax/annotation/processing/ProcessingEnvironment.html
 javax/annotation/processing/Processor.html
 javax/annotation/processing/RoundEnvironment.html
 javax/annotation/processing/SupportedAnnotationTypes.html
 javax/annotation/processing/SupportedOptions.html
 javax/annotation/processing/SupportedSourceVersion.html
 javax/jws/HandlerChain.html
 javax/jws/Oneway.html
 javax/jws/WebMethod.html
 javax/jws/WebParam.Mode.html
 javax/jws/WebParam.html
 javax/jws/WebResult.html
 javax/jws/WebService.html
 javax/jws/soap/InitParam.html
 javax/jws/soap/SOAPBinding.ParameterStyle.html
 javax/jws/soap/SOAPBinding.Style.html
 javax/jws/soap/SOAPBinding.Use.html
 javax/jws/soap/SOAPBinding.html
 javax/jws/soap/SOAPMessageHandler.html
 javax/jws/soap/SOAPMessageHandlers.html
 javax/lang/model/SourceVersion.html
 javax/lang/model/element/AnnotationMirror.html
 javax/lang/model/element/AnnotationValue.html
 javax/lang/model/element/AnnotationValueVisitor.html
 javax/lang/model/element/Element.html
 javax/lang/model/element/ElementKind.html
 javax/lang/model/element/ElementVisitor.html
 javax/lang/model/element/ExecutableElement.html
 javax/lang/model/element/Modifier.html
 javax/lang/model/element/Name.html
 javax/lang/model/element/NestingKind.html
 javax/lang/model/element/PackageElement.html
 javax/lang/model/element/TypeElement.html
 javax/lang/model/element/TypeParameterElement.html
 javax/lang/model/element/UnknownAnnotationValueException.html
 javax/lang/model/element/UnknownElementException.html
 javax/lang/model/element/VariableElement.html
 javax/lang/model/type/ArrayType.html
 javax/lang/model/type/DeclaredType.html
 javax/lang/model/type/ErrorType.html
 javax/lang/model/type/ExecutableType.html
 javax/lang/model/type/MirroredTypeException.html
 javax/lang/model/type/MirroredTypesException.html
 javax/lang/model/type/NoType.html
 javax/lang/model/type/NullType.html
 javax/lang/model/type/PrimitiveType.html
 javax/lang/model/type/ReferenceType.html
 javax/lang/model/type/TypeKind.html
 javax/lang/model/type/TypeMirror.html
 javax/lang/model/type/TypeVariable.html
 javax/lang/model/type/TypeVisitor.html
 javax/lang/model/type/UnknownTypeException.html
 javax/lang/model/type/WildcardType.html
 javax/lang/model/util/AbstractAnnotationValueVisitor6.html
 javax/lang/model/util/AbstractElementVisitor6.html
 javax/lang/model/util/AbstractTypeVisitor6.html
 javax/lang/model/util/ElementFilter.html
 javax/lang/model/util/ElementKindVisitor6.html
 javax/lang/model/util/ElementScanner6.html
 javax/lang/model/util/Elements.html
 javax/lang/model/util/SimpleAnnotationValueVisitor6.html
 javax/lang/model/util/SimpleElementVisitor6.html
 javax/lang/model/util/SimpleTypeVisitor6.html
 javax/lang/model/util/TypeKindVisitor6.html
 javax/lang/model/util/Types.html
 javax/management/DescriptorKey.html
 javax/management/DescriptorRead.html
 javax/management/ImmutableDescriptor.html
 javax/management/JMX.html
 javax/management/MXBean.html
 javax/management/StandardEmitterMBean.html
 javax/management/loading/MLetContent.html
 javax/management/openmbean/CompositeDataInvocationHandler.html
 javax/management/openmbean/CompositeDataView.html
 javax/management/remote/JMXAddressable.html
 javax/net/ssl/SSLParameters.html
 javax/script/AbstractScriptEngine.html
 javax/script/Bindings.html
 javax/script/Compilable.html
 javax/script/CompiledScript.html
 javax/script/Invocable.html
 javax/script/ScriptContext.html
 javax/script/ScriptEngine.html
 javax/script/ScriptEngineFactory.html
 javax/script/ScriptEngineManager.html
 javax/script/ScriptException.html
 javax/script/SimpleBindings.html
 javax/script/SimpleScriptContext.html
 javax/security/auth/login/Configuration.Parameters.html
 javax/security/auth/login/ConfigurationSpi.html
 javax/sql/CommonDataSource.html
 javax/sql/StatementEvent.html
 javax/sql/StatementEventListener.html
 javax/swing/DefaultRowSorter.ModelWrapper.html
 javax/swing/DefaultRowSorter.html
 javax/swing/DropMode.html
 javax/swing/GroupLayout.Alignment.html
 javax/swing/GroupLayout.html
 javax/swing/JList.DropLocation.html
 javax/swing/JTable.DropLocation.html
 javax/swing/JTree.DropLocation.html
 javax/swing/LayoutStyle.ComponentPlacement.html
 javax/swing/LayoutStyle.html
 javax/swing/RowFilter.ComparisonType.html
 javax/swing/RowFilter.Entry.html
 javax/swing/RowFilter.html
 javax/swing/RowSorter.SortKey.html
 javax/swing/RowSorter.html
 javax/swing/SortOrder.html
 javax/swing/SwingWorker.StateValue.html
 javax/swing/SwingWorker.html
 javax/swing/TransferHandler.DropLocation.html
 javax/swing/TransferHandler.TransferSupport.html
 javax/swing/event/RowSorterEvent.Type.html
 javax/swing/event/RowSorterEvent.html
 javax/swing/event/RowSorterListener.html
 javax/swing/filechooser/FileNameExtensionFilter.html
 javax/swing/table/TableRowSorter.html
 javax/swing/table/TableStringConverter.html
 javax/swing/text/JTextComponent.DropLocation.html
 javax/tools/Diagnostic.Kind.html
 javax/tools/Diagnostic.html
 javax/tools/DiagnosticCollector.html
 javax/tools/DiagnosticListener.html
 javax/tools/FileObject.html
 javax/tools/ForwardingFileObject.html
 javax/tools/ForwardingJavaFileManager.html
 javax/tools/ForwardingJavaFileObject.html
 javax/tools/JavaCompiler.CompilationTask.html
 javax/tools/JavaCompiler.html
 javax/tools/JavaFileManager.Location.html
 javax/tools/JavaFileManager.html
 javax/tools/JavaFileObject.Kind.html
 javax/tools/JavaFileObject.html
 javax/tools/OptionChecker.html
 javax/tools/SimpleJavaFileObject.html
 javax/tools/StandardJavaFileManager.html
 javax/tools/StandardLocation.html
 javax/tools/Tool.html
 javax/tools/ToolProvider.html
 javax/xml/bind/Binder.html
 javax/xml/bind/DataBindingException.html
 javax/xml/bind/DatatypeConverter.html
 javax/xml/bind/DatatypeConverterInterface.html
 javax/xml/bind/Element.html
 javax/xml/bind/JAXB.html
 javax/xml/bind/JAXBContext.html
 javax/xml/bind/JAXBElement.GlobalScope.html
 javax/xml/bind/JAXBElement.html
 javax/xml/bind/JAXBException.html
 javax/xml/bind/JAXBIntrospector.html
 javax/xml/bind/MarshalException.html
 javax/xml/bind/Marshaller.Listener.html
 javax/xml/bind/Marshaller.html
 javax/xml/bind/NotIdentifiableEvent.html
 javax/xml/bind/ParseConversionEvent.html
 javax/xml/bind/PrintConversionEvent.html
 javax/xml/bind/PropertyException.html
 javax/xml/bind/SchemaOutputResolver.html
 javax/xml/bind/TypeConstraintException.html
 javax/xml/bind/UnmarshalException.html
 javax/xml/bind/Unmarshaller.Listener.html
 javax/xml/bind/Unmarshaller.html
 javax/xml/bind/UnmarshallerHandler.html
 javax/xml/bind/ValidationEvent.html
 javax/xml/bind/ValidationEventHandler.html
 javax/xml/bind/ValidationEventLocator.html
 javax/xml/bind/ValidationException.html
 javax/xml/bind/Validator.html
 javax/xml/bind/annotation/DomHandler.html
 javax/xml/bind/annotation/W3CDomHandler.html
 javax/xml/bind/annotation/XmlAccessOrder.html
 javax/xml/bind/annotation/XmlAccessType.html
 javax/xml/bind/annotation/XmlAccessorOrder.html
 javax/xml/bind/annotation/XmlAccessorType.html
 javax/xml/bind/annotation/XmlAnyAttribute.html
 javax/xml/bind/annotation/XmlAnyElement.html
 javax/xml/bind/annotation/XmlAttachmentRef.html
 javax/xml/bind/annotation/XmlAttribute.html
 javax/xml/bind/annotation/XmlElement.DEFAULT.html
 javax/xml/bind/annotation/XmlElement.html
 javax/xml/bind/annotation/XmlElementDecl.GLOBAL.html
 javax/xml/bind/annotation/XmlElementDecl.html
 javax/xml/bind/annotation/XmlElementRef.DEFAULT.html
 javax/xml/bind/annotation/XmlElementRef.html
 javax/xml/bind/annotation/XmlElementRefs.html
 javax/xml/bind/annotation/XmlElementWrapper.html
 javax/xml/bind/annotation/XmlElements.html
 javax/xml/bind/annotation/XmlEnum.html
 javax/xml/bind/annotation/XmlEnumValue.html
 javax/xml/bind/annotation/XmlID.html
 javax/xml/bind/annotation/XmlIDREF.html
 javax/xml/bind/annotation/XmlInlineBinaryData.html
 javax/xml/bind/annotation/XmlList.html
 javax/xml/bind/annotation/XmlMimeType.html
 javax/xml/bind/annotation/XmlMixed.html
 javax/xml/bind/annotation/XmlNs.html
 javax/xml/bind/annotation/XmlNsForm.html
 javax/xml/bind/annotation/XmlRegistry.html
 javax/xml/bind/annotation/XmlRootElement.html
 javax/xml/bind/annotation/XmlSchema.html
 javax/xml/bind/annotation/XmlSchemaType.DEFAULT.html
 javax/xml/bind/annotation/XmlSchemaType.html
 javax/xml/bind/annotation/XmlSchemaTypes.html
 javax/xml/bind/annotation/XmlSeeAlso.html
 javax/xml/bind/annotation/XmlTransient.html
 javax/xml/bind/annotation/XmlType.DEFAULT.html
 javax/xml/bind/annotation/XmlType.html
 javax/xml/bind/annotation/XmlValue.html
 javax/xml/bind/annotation/adapters/CollapsedStringAdapter.html
 javax/xml/bind/annotation/adapters/HexBinaryAdapter.html
 javax/xml/bind/annotation/adapters/NormalizedStringAdapter.html
 javax/xml/bind/annotation/adapters/XmlAdapter.html
 javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.DEFAULT.html
 javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.html
 javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters.html
 javax/xml/bind/attachment/AttachmentMarshaller.html
 javax/xml/bind/attachment/AttachmentUnmarshaller.html
 javax/xml/bind/helpers/AbstractMarshallerImpl.html
 javax/xml/bind/helpers/AbstractUnmarshallerImpl.html
 javax/xml/bind/helpers/DefaultValidationEventHandler.html
 javax/xml/bind/helpers/NotIdentifiableEventImpl.html
 javax/xml/bind/helpers/ParseConversionEventImpl.html
 javax/xml/bind/helpers/PrintConversionEventImpl.html
 javax/xml/bind/helpers/ValidationEventImpl.html
 javax/xml/bind/helpers/ValidationEventLocatorImpl.html
 javax/xml/bind/util/JAXBResult.html
 javax/xml/bind/util/JAXBSource.html
 javax/xml/bind/util/ValidationEventCollector.html
 javax/xml/crypto/AlgorithmMethod.html
 javax/xml/crypto/Data.html
 javax/xml/crypto/KeySelector.Purpose.html
 javax/xml/crypto/KeySelector.html
 javax/xml/crypto/KeySelectorException.html
 javax/xml/crypto/KeySelectorResult.html
 javax/xml/crypto/MarshalException.html
 javax/xml/crypto/NoSuchMechanismException.html
 javax/xml/crypto/NodeSetData.html
 javax/xml/crypto/OctetStreamData.html
 javax/xml/crypto/URIDereferencer.html
 javax/xml/crypto/URIReference.html
 javax/xml/crypto/URIReferenceException.html
 javax/xml/crypto/XMLCryptoContext.html
 javax/xml/crypto/XMLStructure.html
 javax/xml/crypto/dom/DOMCryptoContext.html
 javax/xml/crypto/dom/DOMStructure.html
 javax/xml/crypto/dom/DOMURIReference.html
 javax/xml/crypto/dsig/CanonicalizationMethod.html
 javax/xml/crypto/dsig/DigestMethod.html
 javax/xml/crypto/dsig/Manifest.html
 javax/xml/crypto/dsig/Reference.html
 javax/xml/crypto/dsig/SignatureMethod.html
 javax/xml/crypto/dsig/SignatureProperties.html
 javax/xml/crypto/dsig/SignatureProperty.html
 javax/xml/crypto/dsig/SignedInfo.html
 javax/xml/crypto/dsig/Transform.html
 javax/xml/crypto/dsig/TransformException.html
 javax/xml/crypto/dsig/TransformService.html
 javax/xml/crypto/dsig/XMLObject.html
 javax/xml/crypto/dsig/XMLSignContext.html
 javax/xml/crypto/dsig/XMLSignature.SignatureValue.html
 javax/xml/crypto/dsig/XMLSignature.html
 javax/xml/crypto/dsig/XMLSignatureException.html
 javax/xml/crypto/dsig/XMLSignatureFactory.html
 javax/xml/crypto/dsig/XMLValidateContext.html
 javax/xml/crypto/dsig/dom/DOMSignContext.html
 javax/xml/crypto/dsig/dom/DOMValidateContext.html
 javax/xml/crypto/dsig/keyinfo/KeyInfo.html
 javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.html
 javax/xml/crypto/dsig/keyinfo/KeyName.html
 javax/xml/crypto/dsig/keyinfo/KeyValue.html
 javax/xml/crypto/dsig/keyinfo/PGPData.html
 javax/xml/crypto/dsig/keyinfo/RetrievalMethod.html
 javax/xml/crypto/dsig/keyinfo/X509Data.html
 javax/xml/crypto/dsig/keyinfo/X509IssuerSerial.html
 javax/xml/crypto/dsig/spec/C14NMethodParameterSpec.html
 javax/xml/crypto/dsig/spec/DigestMethodParameterSpec.html
 javax/xml/crypto/dsig/spec/ExcC14NParameterSpec.html
 javax/xml/crypto/dsig/spec/HMACParameterSpec.html
 javax/xml/crypto/dsig/spec/SignatureMethodParameterSpec.html
 javax/xml/crypto/dsig/spec/TransformParameterSpec.html
 javax/xml/crypto/dsig/spec/XPathFilter2ParameterSpec.html
 javax/xml/crypto/dsig/spec/XPathFilterParameterSpec.html
 javax/xml/crypto/dsig/spec/XPathType.Filter.html
 javax/xml/crypto/dsig/spec/XPathType.html
 javax/xml/crypto/dsig/spec/XSLTTransformParameterSpec.html
 javax/xml/soap/AttachmentPart.html
 javax/xml/soap/Detail.html
 javax/xml/soap/DetailEntry.html
 javax/xml/soap/MessageFactory.html
 javax/xml/soap/MimeHeader.html
 javax/xml/soap/MimeHeaders.html
 javax/xml/soap/Name.html
 javax/xml/soap/Node.html
 javax/xml/soap/SAAJMetaFactory.html
 javax/xml/soap/SAAJResult.html
 javax/xml/soap/SOAPBody.html
 javax/xml/soap/SOAPBodyElement.html
 javax/xml/soap/SOAPConnection.html
 javax/xml/soap/SOAPConnectionFactory.html
 javax/xml/soap/SOAPConstants.html
 javax/xml/soap/SOAPElement.html
 javax/xml/soap/SOAPElementFactory.html
 javax/xml/soap/SOAPEnvelope.html
 javax/xml/soap/SOAPException.html
 javax/xml/soap/SOAPFactory.html
 javax/xml/soap/SOAPFault.html
 javax/xml/soap/SOAPFaultElement.html
 javax/xml/soap/SOAPHeader.html
 javax/xml/soap/SOAPHeaderElement.html
 javax/xml/soap/SOAPMessage.html
 javax/xml/soap/SOAPPart.html
 javax/xml/soap/Text.html
 javax/xml/stream/EventFilter.html
 javax/xml/stream/FactoryConfigurationError.html
 javax/xml/stream/Location.html
 javax/xml/stream/StreamFilter.html
 javax/xml/stream/XMLEventFactory.html
 javax/xml/stream/XMLEventReader.html
 javax/xml/stream/XMLEventWriter.html
 javax/xml/stream/XMLInputFactory.html
 javax/xml/stream/XMLOutputFactory.html
 javax/xml/stream/XMLReporter.html
 javax/xml/stream/XMLResolver.html
 javax/xml/stream/XMLStreamConstants.html
 javax/xml/stream/XMLStreamException.html
 javax/xml/stream/XMLStreamReader.html
 javax/xml/stream/XMLStreamWriter.html
 javax/xml/stream/events/Attribute.html
 javax/xml/stream/events/Characters.html
 javax/xml/stream/events/Comment.html
 javax/xml/stream/events/DTD.html
 javax/xml/stream/events/EndDocument.html
 javax/xml/stream/events/EndElement.html
 javax/xml/stream/events/EntityDeclaration.html
 javax/xml/stream/events/EntityReference.html
 javax/xml/stream/events/Namespace.html
 javax/xml/stream/events/NotationDeclaration.html
 javax/xml/stream/events/ProcessingInstruction.html
 javax/xml/stream/events/StartDocument.html
 javax/xml/stream/events/StartElement.html
 javax/xml/stream/events/XMLEvent.html
 javax/xml/stream/util/EventReaderDelegate.html
 javax/xml/stream/util/StreamReaderDelegate.html
 javax/xml/stream/util/XMLEventAllocator.html
 javax/xml/stream/util/XMLEventConsumer.html
 javax/xml/transform/stax/StAXResult.html
 javax/xml/transform/stax/StAXSource.html
 javax/xml/ws/Action.html
 javax/xml/ws/AsyncHandler.html
 javax/xml/ws/Binding.html
 javax/xml/ws/BindingProvider.html
 javax/xml/ws/BindingType.html
 javax/xml/ws/Dispatch.html
 javax/xml/ws/Endpoint.html
 javax/xml/ws/EndpointReference.html
 javax/xml/ws/FaultAction.html
 javax/xml/ws/Holder.html
 javax/xml/ws/LogicalMessage.html
 javax/xml/ws/ProtocolException.html
 javax/xml/ws/Provider.html
 javax/xml/ws/RequestWrapper.html
 javax/xml/ws/RespectBinding.html
 javax/xml/ws/RespectBindingFeature.html
 javax/xml/ws/Response.html
 javax/xml/ws/ResponseWrapper.html
 javax/xml/ws/Service.Mode.html
 javax/xml/ws/Service.html
 javax/xml/ws/ServiceMode.html
 javax/xml/ws/WebEndpoint.html
 javax/xml/ws/WebFault.html
 javax/xml/ws/WebServiceClient.html
 javax/xml/ws/WebServiceContext.html
 javax/xml/ws/WebServiceException.html
 javax/xml/ws/WebServiceFeature.html
 javax/xml/ws/WebServicePermission.html
 javax/xml/ws/WebServiceProvider.html
 javax/xml/ws/WebServiceRef.html
 javax/xml/ws/WebServiceRefs.html
 javax/xml/ws/handler/Handler.html
 javax/xml/ws/handler/HandlerResolver.html
 javax/xml/ws/handler/LogicalHandler.html
 javax/xml/ws/handler/LogicalMessageContext.html
 javax/xml/ws/handler/MessageContext.Scope.html
 javax/xml/ws/handler/MessageContext.html
 javax/xml/ws/handler/PortInfo.html
 javax/xml/ws/handler/soap/SOAPHandler.html
 javax/xml/ws/handler/soap/SOAPMessageContext.html
 javax/xml/ws/http/HTTPBinding.html
 javax/xml/ws/http/HTTPException.html
 javax/xml/ws/soap/Addressing.html
 javax/xml/ws/soap/AddressingFeature.html
 javax/xml/ws/soap/MTOM.html
 javax/xml/ws/soap/MTOMFeature.html
 javax/xml/ws/soap/SOAPBinding.html
 javax/xml/ws/soap/SOAPFaultException.html
 javax/xml/ws/spi/Provider.html
 javax/xml/ws/spi/ServiceDelegate.html
 javax/xml/ws/spi/WebServiceFeatureAnnotation.html
 javax/xml/ws/wsaddressing/W3CEndpointReference.html
 javax/xml/ws/wsaddressing/W3CEndpointReferenceBuilder.html

It is often easy to think that Java SE 6 did not add much because it did not add any new language features. However, the list above confirms that Java SE 6 did add much via the SDK. I discussed some of this Java SE 6 goodness in my article Better JPA, Better JAXB, and Better Annotations Processing with Java SE 6.


JDK 1.4 and J2SE 5

At least part of the reason that Java SE 6 had no new language features may have been because J2SE 5 had so many new language features! J2SE 5's new language features included annotations, enums, generics, enhanced for loop, static imports, and variable arguments. J2SE 5 even added a feature that I believe causes more trouble than it's worth: auto boxing and unboxing.

The script shown above can be used to see how the J2SE SDK changed in terms of added interfaces, enums (first available with this version), and classes.

J2SE 5 URLs found: 3279
JDK 1.4 URLs found: 2723
Constructs in JDK 1.4 But Not in J2SE 5
 None
Constructs in J2SE 5 But Not in JDK 1.4
 java/awt/MouseInfo.html
 java/awt/PointerInfo.html
 java/awt/datatransfer/FlavorEvent.html
 java/awt/datatransfer/FlavorListener.html
 java/beans/IndexedPropertyChangeEvent.html
 java/io/Closeable.html
 java/io/Flushable.html
 java/lang/Appendable.html
 java/lang/Deprecated.html
 java/lang/Enum.html
 java/lang/EnumConstantNotPresentException.html
 java/lang/Iterable.html
 java/lang/Override.html
 java/lang/ProcessBuilder.html
 java/lang/Readable.html
 java/lang/StringBuilder.html
 java/lang/SuppressWarnings.html
 java/lang/Thread.State.html
 java/lang/Thread.UncaughtExceptionHandler.html
 java/lang/TypeNotPresentException.html
 java/lang/annotation/Annotation.html
 java/lang/annotation/AnnotationFormatError.html
 java/lang/annotation/AnnotationTypeMismatchException.html
 java/lang/annotation/Documented.html
 java/lang/annotation/ElementType.html
 java/lang/annotation/IncompleteAnnotationException.html
 java/lang/annotation/Inherited.html
 java/lang/annotation/Retention.html
 java/lang/annotation/RetentionPolicy.html
 java/lang/annotation/Target.html
 java/lang/instrument/ClassDefinition.html
 java/lang/instrument/ClassFileTransformer.html
 java/lang/instrument/IllegalClassFormatException.html
 java/lang/instrument/Instrumentation.html
 java/lang/instrument/UnmodifiableClassException.html
 java/lang/management/ClassLoadingMXBean.html
 java/lang/management/CompilationMXBean.html
 java/lang/management/GarbageCollectorMXBean.html
 java/lang/management/ManagementFactory.html
 java/lang/management/ManagementPermission.html
 java/lang/management/MemoryMXBean.html
 java/lang/management/MemoryManagerMXBean.html
 java/lang/management/MemoryNotificationInfo.html
 java/lang/management/MemoryPoolMXBean.html
 java/lang/management/MemoryType.html
 java/lang/management/MemoryUsage.html
 java/lang/management/OperatingSystemMXBean.html
 java/lang/management/RuntimeMXBean.html
 java/lang/management/ThreadInfo.html
 java/lang/management/ThreadMXBean.html
 java/lang/reflect/AnnotatedElement.html
 java/lang/reflect/GenericArrayType.html
 java/lang/reflect/GenericDeclaration.html
 java/lang/reflect/GenericSignatureFormatError.html
 java/lang/reflect/MalformedParameterizedTypeException.html
 java/lang/reflect/ParameterizedType.html
 java/lang/reflect/Type.html
 java/lang/reflect/TypeVariable.html
 java/lang/reflect/WildcardType.html
 java/math/MathContext.html
 java/math/RoundingMode.html
 java/net/Authenticator.RequestorType.html
 java/net/CacheRequest.html
 java/net/CacheResponse.html
 java/net/CookieHandler.html
 java/net/HttpRetryException.html
 java/net/Proxy.Type.html
 java/net/Proxy.html
 java/net/ProxySelector.html
 java/net/ResponseCache.html
 java/net/SecureCacheResponse.html
 java/rmi/server/RemoteObjectInvocationHandler.html
 java/security/AuthProvider.html
 java/security/CodeSigner.html
 java/security/KeyRep.Type.html
 java/security/KeyRep.html
 java/security/KeyStore.Builder.html
 java/security/KeyStore.CallbackHandlerProtection.html
 java/security/KeyStore.Entry.html
 java/security/KeyStore.LoadStoreParameter.html
 java/security/KeyStore.PasswordProtection.html
 java/security/KeyStore.PrivateKeyEntry.html
 java/security/KeyStore.ProtectionParameter.html
 java/security/KeyStore.SecretKeyEntry.html
 java/security/KeyStore.TrustedCertificateEntry.html
 java/security/Provider.Service.html
 java/security/Timestamp.html
 java/security/UnrecoverableEntryException.html
 java/security/interfaces/ECKey.html
 java/security/interfaces/ECPrivateKey.html
 java/security/interfaces/ECPublicKey.html
 java/security/spec/ECField.html
 java/security/spec/ECFieldF2m.html
 java/security/spec/ECFieldFp.html
 java/security/spec/ECGenParameterSpec.html
 java/security/spec/ECParameterSpec.html
 java/security/spec/ECPoint.html
 java/security/spec/ECPrivateKeySpec.html
 java/security/spec/ECPublicKeySpec.html
 java/security/spec/EllipticCurve.html
 java/security/spec/MGF1ParameterSpec.html
 java/util/AbstractQueue.html
 java/util/DuplicateFormatFlagsException.html
 java/util/EnumMap.html
 java/util/EnumSet.html
 java/util/FormatFlagsConversionMismatchException.html
 java/util/Formattable.html
 java/util/FormattableFlags.html
 java/util/Formatter.BigDecimalLayoutForm.html
 java/util/Formatter.html
 java/util/FormatterClosedException.html
 java/util/IllegalFormatCodePointException.html
 java/util/IllegalFormatConversionException.html
 java/util/IllegalFormatException.html
 java/util/IllegalFormatFlagsException.html
 java/util/IllegalFormatPrecisionException.html
 java/util/IllegalFormatWidthException.html
 java/util/InputMismatchException.html
 java/util/InvalidPropertiesFormatException.html
 java/util/MissingFormatArgumentException.html
 java/util/MissingFormatWidthException.html
 java/util/PriorityQueue.html
 java/util/Queue.html
 java/util/Scanner.html
 java/util/UUID.html
 java/util/UnknownFormatConversionException.html
 java/util/UnknownFormatFlagsException.html
 java/util/concurrent/AbstractExecutorService.html
 java/util/concurrent/ArrayBlockingQueue.html
 java/util/concurrent/BlockingQueue.html
 java/util/concurrent/BrokenBarrierException.html
 java/util/concurrent/Callable.html
 java/util/concurrent/CancellationException.html
 java/util/concurrent/CompletionService.html
 java/util/concurrent/ConcurrentHashMap.html
 java/util/concurrent/ConcurrentLinkedQueue.html
 java/util/concurrent/ConcurrentMap.html
 java/util/concurrent/CopyOnWriteArrayList.html
 java/util/concurrent/CopyOnWriteArraySet.html
 java/util/concurrent/CountDownLatch.html
 java/util/concurrent/CyclicBarrier.html
 java/util/concurrent/DelayQueue.html
 java/util/concurrent/Delayed.html
 java/util/concurrent/Exchanger.html
 java/util/concurrent/ExecutionException.html
 java/util/concurrent/Executor.html
 java/util/concurrent/ExecutorCompletionService.html
 java/util/concurrent/ExecutorService.html
 java/util/concurrent/Executors.html
 java/util/concurrent/Future.html
 java/util/concurrent/FutureTask.html
 java/util/concurrent/LinkedBlockingQueue.html
 java/util/concurrent/PriorityBlockingQueue.html
 java/util/concurrent/RejectedExecutionException.html
 java/util/concurrent/RejectedExecutionHandler.html
 java/util/concurrent/ScheduledExecutorService.html
 java/util/concurrent/ScheduledFuture.html
 java/util/concurrent/ScheduledThreadPoolExecutor.html
 java/util/concurrent/Semaphore.html
 java/util/concurrent/SynchronousQueue.html
 java/util/concurrent/ThreadFactory.html
 java/util/concurrent/ThreadPoolExecutor.AbortPolicy.html
 java/util/concurrent/ThreadPoolExecutor.CallerRunsPolicy.html
 java/util/concurrent/ThreadPoolExecutor.DiscardOldestPolicy.html
 java/util/concurrent/ThreadPoolExecutor.DiscardPolicy.html
 java/util/concurrent/ThreadPoolExecutor.html
 java/util/concurrent/TimeUnit.html
 java/util/concurrent/TimeoutException.html
 java/util/concurrent/atomic/AtomicBoolean.html
 java/util/concurrent/atomic/AtomicInteger.html
 java/util/concurrent/atomic/AtomicIntegerArray.html
 java/util/concurrent/atomic/AtomicIntegerFieldUpdater.html
 java/util/concurrent/atomic/AtomicLong.html
 java/util/concurrent/atomic/AtomicLongArray.html
 java/util/concurrent/atomic/AtomicLongFieldUpdater.html
 java/util/concurrent/atomic/AtomicMarkableReference.html
 java/util/concurrent/atomic/AtomicReference.html
 java/util/concurrent/atomic/AtomicReferenceArray.html
 java/util/concurrent/atomic/AtomicReferenceFieldUpdater.html
 java/util/concurrent/atomic/AtomicStampedReference.html
 java/util/concurrent/locks/AbstractQueuedSynchronizer.html
 java/util/concurrent/locks/Condition.html
 java/util/concurrent/locks/Lock.html
 java/util/concurrent/locks/LockSupport.html
 java/util/concurrent/locks/ReadWriteLock.html
 java/util/concurrent/locks/ReentrantLock.html
 java/util/concurrent/locks/ReentrantReadWriteLock.ReadLock.html
 java/util/concurrent/locks/ReentrantReadWriteLock.WriteLock.html
 java/util/concurrent/locks/ReentrantReadWriteLock.html
 java/util/jar/Pack200.Packer.html
 java/util/jar/Pack200.Unpacker.html
 java/util/jar/Pack200.html
 java/util/logging/LoggingMXBean.html
 java/util/regex/MatchResult.html
 javax/accessibility/AccessibleAttributeSequence.html
 javax/accessibility/AccessibleExtendedText.html
 javax/accessibility/AccessibleStreamable.html
 javax/accessibility/AccessibleTextSequence.html
 javax/activity/ActivityCompletedException.html
 javax/activity/ActivityRequiredException.html
 javax/activity/InvalidActivityException.html
 javax/crypto/spec/OAEPParameterSpec.html
 javax/crypto/spec/PSource.PSpecified.html
 javax/crypto/spec/PSource.html
 javax/imageio/plugins/bmp/BMPImageWriteParam.html
 javax/management/Attribute.html
 javax/management/AttributeChangeNotification.html
 javax/management/AttributeChangeNotificationFilter.html
 javax/management/AttributeList.html
 javax/management/AttributeNotFoundException.html
 javax/management/AttributeValueExp.html
 javax/management/BadAttributeValueExpException.html
 javax/management/BadBinaryOpValueExpException.html
 javax/management/BadStringOperationException.html
 javax/management/DefaultLoaderRepository.html
 javax/management/Descriptor.html
 javax/management/DescriptorAccess.html
 javax/management/DynamicMBean.html
 javax/management/InstanceAlreadyExistsException.html
 javax/management/InstanceNotFoundException.html
 javax/management/IntrospectionException.html
 javax/management/InvalidApplicationException.html
 javax/management/InvalidAttributeValueException.html
 javax/management/JMException.html
 javax/management/JMRuntimeException.html
 javax/management/ListenerNotFoundException.html
 javax/management/MBeanAttributeInfo.html
 javax/management/MBeanConstructorInfo.html
 javax/management/MBeanException.html
 javax/management/MBeanFeatureInfo.html
 javax/management/MBeanInfo.html
 javax/management/MBeanNotificationInfo.html
 javax/management/MBeanOperationInfo.html
 javax/management/MBeanParameterInfo.html
 javax/management/MBeanPermission.html
 javax/management/MBeanRegistration.html
 javax/management/MBeanRegistrationException.html
 javax/management/MBeanServer.html
 javax/management/MBeanServerBuilder.html
 javax/management/MBeanServerConnection.html
 javax/management/MBeanServerDelegate.html
 javax/management/MBeanServerDelegateMBean.html
 javax/management/MBeanServerFactory.html
 javax/management/MBeanServerInvocationHandler.html
 javax/management/MBeanServerNotification.html
 javax/management/MBeanServerPermission.html
 javax/management/MBeanTrustPermission.html
 javax/management/MalformedObjectNameException.html
 javax/management/NotCompliantMBeanException.html
 javax/management/Notification.html
 javax/management/NotificationBroadcaster.html
 javax/management/NotificationBroadcasterSupport.html
 javax/management/NotificationEmitter.html
 javax/management/NotificationFilter.html
 javax/management/NotificationFilterSupport.html
 javax/management/NotificationListener.html
 javax/management/ObjectInstance.html
 javax/management/ObjectName.html
 javax/management/OperationsException.html
 javax/management/PersistentMBean.html
 javax/management/Query.html
 javax/management/QueryEval.html
 javax/management/QueryExp.html
 javax/management/ReflectionException.html
 javax/management/RuntimeErrorException.html
 javax/management/RuntimeMBeanException.html
 javax/management/RuntimeOperationsException.html
 javax/management/ServiceNotFoundException.html
 javax/management/StandardMBean.html
 javax/management/StringValueExp.html
 javax/management/ValueExp.html
 javax/management/loading/ClassLoaderRepository.html
 javax/management/loading/DefaultLoaderRepository.html
 javax/management/loading/MLet.html
 javax/management/loading/MLetMBean.html
 javax/management/loading/PrivateClassLoader.html
 javax/management/loading/PrivateMLet.html
 javax/management/modelmbean/DescriptorSupport.html
 javax/management/modelmbean/InvalidTargetObjectTypeException.html
 javax/management/modelmbean/ModelMBean.html
 javax/management/modelmbean/ModelMBeanAttributeInfo.html
 javax/management/modelmbean/ModelMBeanConstructorInfo.html
 javax/management/modelmbean/ModelMBeanInfo.html
 javax/management/modelmbean/ModelMBeanInfoSupport.html
 javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html
 javax/management/modelmbean/ModelMBeanNotificationInfo.html
 javax/management/modelmbean/ModelMBeanOperationInfo.html
 javax/management/modelmbean/RequiredModelMBean.html
 javax/management/modelmbean/XMLParseException.html
 javax/management/monitor/CounterMonitor.html
 javax/management/monitor/CounterMonitorMBean.html
 javax/management/monitor/GaugeMonitor.html
 javax/management/monitor/GaugeMonitorMBean.html
 javax/management/monitor/Monitor.html
 javax/management/monitor/MonitorMBean.html
 javax/management/monitor/MonitorNotification.html
 javax/management/monitor/MonitorSettingException.html
 javax/management/monitor/StringMonitor.html
 javax/management/monitor/StringMonitorMBean.html
 javax/management/openmbean/ArrayType.html
 javax/management/openmbean/CompositeData.html
 javax/management/openmbean/CompositeDataSupport.html
 javax/management/openmbean/CompositeType.html
 javax/management/openmbean/InvalidKeyException.html
 javax/management/openmbean/InvalidOpenTypeException.html
 javax/management/openmbean/KeyAlreadyExistsException.html
 javax/management/openmbean/OpenDataException.html
 javax/management/openmbean/OpenMBeanAttributeInfo.html
 javax/management/openmbean/OpenMBeanAttributeInfoSupport.html
 javax/management/openmbean/OpenMBeanConstructorInfo.html
 javax/management/openmbean/OpenMBeanConstructorInfoSupport.html
 javax/management/openmbean/OpenMBeanInfo.html
 javax/management/openmbean/OpenMBeanInfoSupport.html
 javax/management/openmbean/OpenMBeanOperationInfo.html
 javax/management/openmbean/OpenMBeanOperationInfoSupport.html
 javax/management/openmbean/OpenMBeanParameterInfo.html
 javax/management/openmbean/OpenMBeanParameterInfoSupport.html
 javax/management/openmbean/OpenType.html
 javax/management/openmbean/SimpleType.html
 javax/management/openmbean/TabularData.html
 javax/management/openmbean/TabularDataSupport.html
 javax/management/openmbean/TabularType.html
 javax/management/relation/InvalidRelationIdException.html
 javax/management/relation/InvalidRelationServiceException.html
 javax/management/relation/InvalidRelationTypeException.html
 javax/management/relation/InvalidRoleInfoException.html
 javax/management/relation/InvalidRoleValueException.html
 javax/management/relation/MBeanServerNotificationFilter.html
 javax/management/relation/Relation.html
 javax/management/relation/RelationException.html
 javax/management/relation/RelationNotFoundException.html
 javax/management/relation/RelationNotification.html
 javax/management/relation/RelationService.html
 javax/management/relation/RelationServiceMBean.html
 javax/management/relation/RelationServiceNotRegisteredException.html
 javax/management/relation/RelationSupport.html
 javax/management/relation/RelationSupportMBean.html
 javax/management/relation/RelationType.html
 javax/management/relation/RelationTypeNotFoundException.html
 javax/management/relation/RelationTypeSupport.html
 javax/management/relation/Role.html
 javax/management/relation/RoleInfo.html
 javax/management/relation/RoleInfoNotFoundException.html
 javax/management/relation/RoleList.html
 javax/management/relation/RoleNotFoundException.html
 javax/management/relation/RoleResult.html
 javax/management/relation/RoleStatus.html
 javax/management/relation/RoleUnresolved.html
 javax/management/relation/RoleUnresolvedList.html
 javax/management/remote/JMXAuthenticator.html
 javax/management/remote/JMXConnectionNotification.html
 javax/management/remote/JMXConnector.html
 javax/management/remote/JMXConnectorFactory.html
 javax/management/remote/JMXConnectorProvider.html
 javax/management/remote/JMXConnectorServer.html
 javax/management/remote/JMXConnectorServerFactory.html
 javax/management/remote/JMXConnectorServerMBean.html
 javax/management/remote/JMXConnectorServerProvider.html
 javax/management/remote/JMXPrincipal.html
 javax/management/remote/JMXProviderException.html
 javax/management/remote/JMXServerErrorException.html
 javax/management/remote/JMXServiceURL.html
 javax/management/remote/MBeanServerForwarder.html
 javax/management/remote/NotificationResult.html
 javax/management/remote/SubjectDelegationPermission.html
 javax/management/remote/TargetedNotification.html
 javax/management/remote/rmi/RMIConnection.html
 javax/management/remote/rmi/RMIConnectionImpl.html
 javax/management/remote/rmi/RMIConnectionImpl_Stub.html
 javax/management/remote/rmi/RMIConnector.html
 javax/management/remote/rmi/RMIConnectorServer.html
 javax/management/remote/rmi/RMIIIOPServerImpl.html
 javax/management/remote/rmi/RMIJRMPServerImpl.html
 javax/management/remote/rmi/RMIServer.html
 javax/management/remote/rmi/RMIServerImpl.html
 javax/management/remote/rmi/RMIServerImpl_Stub.html
 javax/management/timer/Timer.html
 javax/management/timer/TimerAlarmClockNotification.html
 javax/management/timer/TimerMBean.html
 javax/management/timer/TimerNotification.html
 javax/naming/ldap/BasicControl.html
 javax/naming/ldap/LdapName.html
 javax/naming/ldap/ManageReferralControl.html
 javax/naming/ldap/PagedResultsControl.html
 javax/naming/ldap/PagedResultsResponseControl.html
 javax/naming/ldap/Rdn.html
 javax/naming/ldap/SortControl.html
 javax/naming/ldap/SortKey.html
 javax/naming/ldap/SortResponseControl.html
 javax/net/ssl/CertPathTrustManagerParameters.html
 javax/net/ssl/KeyStoreBuilderParameters.html
 javax/net/ssl/SSLEngine.html
 javax/net/ssl/SSLEngineResult.HandshakeStatus.html
 javax/net/ssl/SSLEngineResult.Status.html
 javax/net/ssl/SSLEngineResult.html
 javax/net/ssl/X509ExtendedKeyManager.html
 javax/rmi/CORBA/ValueHandlerMultiFormat.html
 javax/rmi/ssl/SslRMIClientSocketFactory.html
 javax/rmi/ssl/SslRMIServerSocketFactory.html
 javax/security/auth/login/AccountException.html
 javax/security/auth/login/AccountLockedException.html
 javax/security/auth/login/AccountNotFoundException.html
 javax/security/auth/login/CredentialException.html
 javax/security/auth/login/CredentialNotFoundException.html
 javax/security/sasl/AuthenticationException.html
 javax/security/sasl/AuthorizeCallback.html
 javax/security/sasl/RealmCallback.html
 javax/security/sasl/RealmChoiceCallback.html
 javax/security/sasl/Sasl.html
 javax/security/sasl/SaslClient.html
 javax/security/sasl/SaslClientFactory.html
 javax/security/sasl/SaslException.html
 javax/security/sasl/SaslServer.html
 javax/security/sasl/SaslServerFactory.html
 javax/sql/rowset/BaseRowSet.html
 javax/sql/rowset/CachedRowSet.html
 javax/sql/rowset/FilteredRowSet.html
 javax/sql/rowset/JdbcRowSet.html
 javax/sql/rowset/JoinRowSet.html
 javax/sql/rowset/Joinable.html
 javax/sql/rowset/Predicate.html
 javax/sql/rowset/RowSetMetaDataImpl.html
 javax/sql/rowset/RowSetWarning.html
 javax/sql/rowset/WebRowSet.html
 javax/sql/rowset/serial/SQLInputImpl.html
 javax/sql/rowset/serial/SQLOutputImpl.html
 javax/sql/rowset/serial/SerialArray.html
 javax/sql/rowset/serial/SerialBlob.html
 javax/sql/rowset/serial/SerialClob.html
 javax/sql/rowset/serial/SerialDatalink.html
 javax/sql/rowset/serial/SerialException.html
 javax/sql/rowset/serial/SerialJavaObject.html
 javax/sql/rowset/serial/SerialRef.html
 javax/sql/rowset/serial/SerialStruct.html
 javax/sql/rowset/spi/SyncFactory.html
 javax/sql/rowset/spi/SyncFactoryException.html
 javax/sql/rowset/spi/SyncProvider.html
 javax/sql/rowset/spi/SyncProviderException.html
 javax/sql/rowset/spi/SyncResolver.html
 javax/sql/rowset/spi/TransactionalWriter.html
 javax/sql/rowset/spi/XmlReader.html
 javax/sql/rowset/spi/XmlWriter.html
 javax/swing/JTable.PrintMode.html
 javax/swing/plaf/metal/MetalMenuBarUI.html
 javax/swing/plaf/metal/OceanTheme.html
 javax/swing/plaf/synth/ColorType.html
 javax/swing/plaf/synth/Region.html
 javax/swing/plaf/synth/SynthConstants.html
 javax/swing/plaf/synth/SynthContext.html
 javax/swing/plaf/synth/SynthGraphicsUtils.html
 javax/swing/plaf/synth/SynthLookAndFeel.html
 javax/swing/plaf/synth/SynthPainter.html
 javax/swing/plaf/synth/SynthStyle.html
 javax/swing/plaf/synth/SynthStyleFactory.html
 javax/swing/text/html/FormSubmitEvent.MethodType.html
 javax/swing/text/html/FormSubmitEvent.html
 javax/xml/XMLConstants.html
 javax/xml/datatype/DatatypeConfigurationException.html
 javax/xml/datatype/DatatypeConstants.Field.html
 javax/xml/datatype/DatatypeConstants.html
 javax/xml/datatype/DatatypeFactory.html
 javax/xml/datatype/Duration.html
 javax/xml/datatype/XMLGregorianCalendar.html
 javax/xml/namespace/NamespaceContext.html
 javax/xml/namespace/QName.html
 javax/xml/validation/Schema.html
 javax/xml/validation/SchemaFactory.html
 javax/xml/validation/SchemaFactoryLoader.html
 javax/xml/validation/TypeInfoProvider.html
 javax/xml/validation/Validator.html
 javax/xml/validation/ValidatorHandler.html
 javax/xml/xpath/XPath.html
 javax/xml/xpath/XPathConstants.html
 javax/xml/xpath/XPathException.html
 javax/xml/xpath/XPathExpression.html
 javax/xml/xpath/XPathExpressionException.html
 javax/xml/xpath/XPathFactory.html
 javax/xml/xpath/XPathFactoryConfigurationException.html
 javax/xml/xpath/XPathFunction.html
 javax/xml/xpath/XPathFunctionException.html
 javax/xml/xpath/XPathFunctionResolver.html
 javax/xml/xpath/XPathVariableResolver.html
 org/omg/CORBA/ACTIVITY_COMPLETED.html
 org/omg/CORBA/ACTIVITY_REQUIRED.html
 org/omg/CORBA/BAD_QOS.html
 org/omg/CORBA/CODESET_INCOMPATIBLE.html
 org/omg/CORBA/INVALID_ACTIVITY.html
 org/omg/CORBA/REBIND.html
 org/omg/CORBA/TIMEOUT.html
 org/omg/CORBA/TRANSACTION_MODE.html
 org/omg/CORBA/TRANSACTION_UNAVAILABLE.html
 org/omg/CORBA/portable/ValueInputStream.html
 org/omg/CORBA/portable/ValueOutputStream.html
 org/omg/IOP/ExceptionDetailMessage.html
 org/omg/IOP/RMICustomMaxStreamFormat.html
 org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.html
 org/omg/PortableInterceptor/ACTIVE.html
 org/omg/PortableInterceptor/AdapterManagerIdHelper.html
 org/omg/PortableInterceptor/AdapterNameHelper.html
 org/omg/PortableInterceptor/AdapterStateHelper.html
 org/omg/PortableInterceptor/DISCARDING.html
 org/omg/PortableInterceptor/HOLDING.html
 org/omg/PortableInterceptor/INACTIVE.html
 org/omg/PortableInterceptor/IORInterceptor_3_0.html
 org/omg/PortableInterceptor/IORInterceptor_3_0Helper.html
 org/omg/PortableInterceptor/IORInterceptor_3_0Holder.html
 org/omg/PortableInterceptor/IORInterceptor_3_0Operations.html
 org/omg/PortableInterceptor/NON_EXISTENT.html
 org/omg/PortableInterceptor/ORBIdHelper.html
 org/omg/PortableInterceptor/ObjectIdHelper.html
 org/omg/PortableInterceptor/ObjectReferenceFactory.html
 org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.html
 org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.html
 org/omg/PortableInterceptor/ObjectReferenceTemplate.html
 org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.html
 org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.html
 org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.html
 org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.html
 org/omg/PortableInterceptor/ServerIdHelper.html
 org/omg/PortableInterceptor/UNKNOWN.html
 org/w3c/dom/DOMConfiguration.html
 org/w3c/dom/DOMError.html
 org/w3c/dom/DOMErrorHandler.html
 org/w3c/dom/DOMImplementationList.html
 org/w3c/dom/DOMImplementationSource.html
 org/w3c/dom/DOMLocator.html
 org/w3c/dom/DOMStringList.html
 org/w3c/dom/NameList.html
 org/w3c/dom/TypeInfo.html
 org/w3c/dom/UserDataHandler.html
 org/w3c/dom/bootstrap/DOMImplementationRegistry.html
 org/w3c/dom/events/DocumentEvent.html
 org/w3c/dom/events/Event.html
 org/w3c/dom/events/EventException.html
 org/w3c/dom/events/EventListener.html
 org/w3c/dom/events/EventTarget.html
 org/w3c/dom/events/MouseEvent.html
 org/w3c/dom/events/MutationEvent.html
 org/w3c/dom/events/UIEvent.html
 org/w3c/dom/ls/DOMImplementationLS.html
 org/w3c/dom/ls/LSException.html
 org/w3c/dom/ls/LSInput.html
 org/w3c/dom/ls/LSLoadEvent.html
 org/w3c/dom/ls/LSOutput.html
 org/w3c/dom/ls/LSParser.html
 org/w3c/dom/ls/LSParserFilter.html
 org/w3c/dom/ls/LSProgressEvent.html
 org/w3c/dom/ls/LSResourceResolver.html
 org/w3c/dom/ls/LSSerializer.html
 org/w3c/dom/ls/LSSerializerFilter.html
 org/xml/sax/ext/Attributes2.html
 org/xml/sax/ext/Attributes2Impl.html
 org/xml/sax/ext/DefaultHandler2.html
 org/xml/sax/ext/EntityResolver2.html
 org/xml/sax/ext/Locator2.html
 org/xml/sax/ext/Locator2Impl.html

J2SE5 added 556 new constructs (3279 - 2723). A large number of the new constructs supported the built-in JMX support first available with J2SE 5.


JDK 1.3 and JDK 1.4

The release of JDK 1.4 was huge in the land of Java. There were actually some relatively significant "minor" releases, but I limit the coverage here to 1.4 (1.4.2) as a whole. There were far too many useful new features in 1.4 to list them all here, but they included inclusion of java.util.logging, availability of assertions, several Collections Framework enhancements, significant new XML support, invaluable chaining of exceptions, NIO, and regular expression support. Those were heady times for the Java developer! The script listed above provides the following output when JDK 1.4 is compared to JDK 1.3 (which at one time had its own new features).

JDK 1.4 URLs found: 2723
JDK 1.3 URLs found: 1840
Constructs in JDK 1.3 But Not in JDK 1.4
 org/omg/CORBA/Initializer.html
 org/omg/CORBA/Repository.html
Constructs in JDK 1.4 But Not in JDK 1.3
 java/awt/AWTKeyStroke.html
 java/awt/BufferCapabilities.FlipContents.html
 java/awt/BufferCapabilities.html
 java/awt/ContainerOrderFocusTraversalPolicy.html
 java/awt/DefaultFocusTraversalPolicy.html
 java/awt/DefaultKeyboardFocusManager.html
 java/awt/DisplayMode.html
 java/awt/FocusTraversalPolicy.html
 java/awt/HeadlessException.html
 java/awt/ImageCapabilities.html
 java/awt/KeyEventDispatcher.html
 java/awt/KeyEventPostProcessor.html
 java/awt/KeyboardFocusManager.html
 java/awt/ScrollPaneAdjustable.html
 java/awt/datatransfer/FlavorTable.html
 java/awt/dnd/DragSourceAdapter.html
 java/awt/dnd/DragSourceMotionListener.html
 java/awt/dnd/DropTargetAdapter.html
 java/awt/event/AWTEventListenerProxy.html
 java/awt/event/MouseWheelEvent.html
 java/awt/event/MouseWheelListener.html
 java/awt/event/WindowFocusListener.html
 java/awt/event/WindowStateListener.html
 java/awt/font/NumericShaper.html
 java/awt/image/BufferStrategy.html
 java/awt/image/DataBufferDouble.html
 java/awt/image/DataBufferFloat.html
 java/awt/image/VolatileImage.html
 java/beans/DefaultPersistenceDelegate.html
 java/beans/Encoder.html
 java/beans/EventHandler.html
 java/beans/ExceptionListener.html
 java/beans/Expression.html
 java/beans/PersistenceDelegate.html
 java/beans/PropertyChangeListenerProxy.html
 java/beans/Statement.html
 java/beans/VetoableChangeListenerProxy.html
 java/beans/XMLDecoder.html
 java/beans/XMLEncoder.html
 java/lang/AssertionError.html
 java/lang/CharSequence.html
 java/lang/StackTraceElement.html
 java/net/Inet4Address.html
 java/net/Inet6Address.html
 java/net/InetSocketAddress.html
 java/net/NetworkInterface.html
 java/net/PortUnreachableException.html
 java/net/SocketAddress.html
 java/net/SocketTimeoutException.html
 java/net/URI.html
 java/net/URISyntaxException.html
 java/nio/Buffer.html
 java/nio/BufferOverflowException.html
 java/nio/BufferUnderflowException.html
 java/nio/ByteBuffer.html
 java/nio/ByteOrder.html
 java/nio/CharBuffer.html
 java/nio/DoubleBuffer.html
 java/nio/FloatBuffer.html
 java/nio/IntBuffer.html
 java/nio/InvalidMarkException.html
 java/nio/LongBuffer.html
 java/nio/MappedByteBuffer.html
 java/nio/ReadOnlyBufferException.html
 java/nio/ShortBuffer.html
 java/nio/channels/AlreadyConnectedException.html
 java/nio/channels/AsynchronousCloseException.html
 java/nio/channels/ByteChannel.html
 java/nio/channels/CancelledKeyException.html
 java/nio/channels/Channel.html
 java/nio/channels/Channels.html
 java/nio/channels/ClosedByInterruptException.html
 java/nio/channels/ClosedChannelException.html
 java/nio/channels/ClosedSelectorException.html
 java/nio/channels/ConnectionPendingException.html
 java/nio/channels/DatagramChannel.html
 java/nio/channels/FileChannel.MapMode.html
 java/nio/channels/FileChannel.html
 java/nio/channels/FileLock.html
 java/nio/channels/FileLockInterruptionException.html
 java/nio/channels/GatheringByteChannel.html
 java/nio/channels/IllegalBlockingModeException.html
 java/nio/channels/IllegalSelectorException.html
 java/nio/channels/InterruptibleChannel.html
 java/nio/channels/NoConnectionPendingException.html
 java/nio/channels/NonReadableChannelException.html
 java/nio/channels/NonWritableChannelException.html
 java/nio/channels/NotYetBoundException.html
 java/nio/channels/NotYetConnectedException.html
 java/nio/channels/OverlappingFileLockException.html
 java/nio/channels/Pipe.SinkChannel.html
 java/nio/channels/Pipe.SourceChannel.html
 java/nio/channels/Pipe.html
 java/nio/channels/ReadableByteChannel.html
 java/nio/channels/ScatteringByteChannel.html
 java/nio/channels/SelectableChannel.html
 java/nio/channels/SelectionKey.html
 java/nio/channels/Selector.html
 java/nio/channels/ServerSocketChannel.html
 java/nio/channels/SocketChannel.html
 java/nio/channels/UnresolvedAddressException.html
 java/nio/channels/UnsupportedAddressTypeException.html
 java/nio/channels/WritableByteChannel.html
 java/nio/channels/spi/AbstractInterruptibleChannel.html
 java/nio/channels/spi/AbstractSelectableChannel.html
 java/nio/channels/spi/AbstractSelectionKey.html
 java/nio/channels/spi/AbstractSelector.html
 java/nio/channels/spi/SelectorProvider.html
 java/nio/charset/CharacterCodingException.html
 java/nio/charset/Charset.html
 java/nio/charset/CharsetDecoder.html
 java/nio/charset/CharsetEncoder.html
 java/nio/charset/CoderMalfunctionError.html
 java/nio/charset/CoderResult.html
 java/nio/charset/CodingErrorAction.html
 java/nio/charset/IllegalCharsetNameException.html
 java/nio/charset/MalformedInputException.html
 java/nio/charset/UnmappableCharacterException.html
 java/nio/charset/UnsupportedCharsetException.html
 java/nio/charset/spi/CharsetProvider.html
 java/rmi/activation/ActivationGroup_Stub.html
 java/rmi/server/RMIClassLoaderSpi.html
 java/security/cert/CRLSelector.html
 java/security/cert/CertPath.CertPathRep.html
 java/security/cert/CertPath.html
 java/security/cert/CertPathBuilder.html
 java/security/cert/CertPathBuilderException.html
 java/security/cert/CertPathBuilderResult.html
 java/security/cert/CertPathBuilderSpi.html
 java/security/cert/CertPathParameters.html
 java/security/cert/CertPathValidator.html
 java/security/cert/CertPathValidatorException.html
 java/security/cert/CertPathValidatorResult.html
 java/security/cert/CertPathValidatorSpi.html
 java/security/cert/CertSelector.html
 java/security/cert/CertStore.html
 java/security/cert/CertStoreException.html
 java/security/cert/CertStoreParameters.html
 java/security/cert/CertStoreSpi.html
 java/security/cert/CollectionCertStoreParameters.html
 java/security/cert/LDAPCertStoreParameters.html
 java/security/cert/PKIXBuilderParameters.html
 java/security/cert/PKIXCertPathBuilderResult.html
 java/security/cert/PKIXCertPathChecker.html
 java/security/cert/PKIXCertPathValidatorResult.html
 java/security/cert/PKIXParameters.html
 java/security/cert/PolicyNode.html
 java/security/cert/PolicyQualifierInfo.html
 java/security/cert/TrustAnchor.html
 java/security/cert/X509CRLSelector.html
 java/security/cert/X509CertSelector.html
 java/security/interfaces/RSAMultiPrimePrivateCrtKey.html
 java/security/spec/PSSParameterSpec.html
 java/security/spec/RSAMultiPrimePrivateCrtKeySpec.html
 java/security/spec/RSAOtherPrimeInfo.html
 java/sql/ParameterMetaData.html
 java/sql/Savepoint.html
 java/text/Bidi.html
 java/text/DateFormat.Field.html
 java/text/Format.Field.html
 java/text/MessageFormat.Field.html
 java/text/NumberFormat.Field.html
 java/util/Currency.html
 java/util/EventListenerProxy.html
 java/util/IdentityHashMap.html
 java/util/LinkedHashMap.html
 java/util/LinkedHashSet.html
 java/util/RandomAccess.html
 java/util/logging/ConsoleHandler.html
 java/util/logging/ErrorManager.html
 java/util/logging/FileHandler.html
 java/util/logging/Filter.html
 java/util/logging/Formatter.html
 java/util/logging/Handler.html
 java/util/logging/Level.html
 java/util/logging/LogManager.html
 java/util/logging/LogRecord.html
 java/util/logging/Logger.html
 java/util/logging/LoggingPermission.html
 java/util/logging/MemoryHandler.html
 java/util/logging/SimpleFormatter.html
 java/util/logging/SocketHandler.html
 java/util/logging/StreamHandler.html
 java/util/logging/XMLFormatter.html
 java/util/prefs/AbstractPreferences.html
 java/util/prefs/BackingStoreException.html
 java/util/prefs/InvalidPreferencesFormatException.html
 java/util/prefs/NodeChangeEvent.html
 java/util/prefs/NodeChangeListener.html
 java/util/prefs/PreferenceChangeEvent.html
 java/util/prefs/PreferenceChangeListener.html
 java/util/prefs/Preferences.html
 java/util/prefs/PreferencesFactory.html
 java/util/regex/Matcher.html
 java/util/regex/Pattern.html
 java/util/regex/PatternSyntaxException.html
 javax/accessibility/AccessibleEditableText.html
 javax/accessibility/AccessibleExtendedComponent.html
 javax/accessibility/AccessibleExtendedTable.html
 javax/accessibility/AccessibleKeyBinding.html
 javax/crypto/BadPaddingException.html
 javax/crypto/Cipher.html
 javax/crypto/CipherInputStream.html
 javax/crypto/CipherOutputStream.html
 javax/crypto/CipherSpi.html
 javax/crypto/EncryptedPrivateKeyInfo.html
 javax/crypto/ExemptionMechanism.html
 javax/crypto/ExemptionMechanismException.html
 javax/crypto/ExemptionMechanismSpi.html
 javax/crypto/IllegalBlockSizeException.html
 javax/crypto/KeyAgreement.html
 javax/crypto/KeyAgreementSpi.html
 javax/crypto/KeyGenerator.html
 javax/crypto/KeyGeneratorSpi.html
 javax/crypto/Mac.html
 javax/crypto/MacSpi.html
 javax/crypto/NoSuchPaddingException.html
 javax/crypto/NullCipher.html
 javax/crypto/SealedObject.html
 javax/crypto/SecretKey.html
 javax/crypto/SecretKeyFactory.html
 javax/crypto/SecretKeyFactorySpi.html
 javax/crypto/ShortBufferException.html
 javax/crypto/interfaces/DHKey.html
 javax/crypto/interfaces/DHPrivateKey.html
 javax/crypto/interfaces/DHPublicKey.html
 javax/crypto/interfaces/PBEKey.html
 javax/crypto/spec/DESKeySpec.html
 javax/crypto/spec/DESedeKeySpec.html
 javax/crypto/spec/DHGenParameterSpec.html
 javax/crypto/spec/DHParameterSpec.html
 javax/crypto/spec/DHPrivateKeySpec.html
 javax/crypto/spec/DHPublicKeySpec.html
 javax/crypto/spec/IvParameterSpec.html
 javax/crypto/spec/PBEKeySpec.html
 javax/crypto/spec/PBEParameterSpec.html
 javax/crypto/spec/RC2ParameterSpec.html
 javax/crypto/spec/RC5ParameterSpec.html
 javax/crypto/spec/SecretKeySpec.html
 javax/imageio/IIOException.html
 javax/imageio/IIOImage.html
 javax/imageio/IIOParam.html
 javax/imageio/IIOParamController.html
 javax/imageio/ImageIO.html
 javax/imageio/ImageReadParam.html
 javax/imageio/ImageReader.html
 javax/imageio/ImageTranscoder.html
 javax/imageio/ImageTypeSpecifier.html
 javax/imageio/ImageWriteParam.html
 javax/imageio/ImageWriter.html
 javax/imageio/event/IIOReadProgressListener.html
 javax/imageio/event/IIOReadUpdateListener.html
 javax/imageio/event/IIOReadWarningListener.html
 javax/imageio/event/IIOWriteProgressListener.html
 javax/imageio/event/IIOWriteWarningListener.html
 javax/imageio/metadata/IIOInvalidTreeException.html
 javax/imageio/metadata/IIOMetadata.html
 javax/imageio/metadata/IIOMetadataController.html
 javax/imageio/metadata/IIOMetadataFormat.html
 javax/imageio/metadata/IIOMetadataFormatImpl.html
 javax/imageio/metadata/IIOMetadataNode.html
 javax/imageio/plugins/jpeg/JPEGHuffmanTable.html
 javax/imageio/plugins/jpeg/JPEGImageReadParam.html
 javax/imageio/plugins/jpeg/JPEGImageWriteParam.html
 javax/imageio/plugins/jpeg/JPEGQTable.html
 javax/imageio/spi/IIORegistry.html
 javax/imageio/spi/IIOServiceProvider.html
 javax/imageio/spi/ImageInputStreamSpi.html
 javax/imageio/spi/ImageOutputStreamSpi.html
 javax/imageio/spi/ImageReaderSpi.html
 javax/imageio/spi/ImageReaderWriterSpi.html
 javax/imageio/spi/ImageTranscoderSpi.html
 javax/imageio/spi/ImageWriterSpi.html
 javax/imageio/spi/RegisterableService.html
 javax/imageio/spi/ServiceRegistry.Filter.html
 javax/imageio/spi/ServiceRegistry.html
 javax/imageio/stream/FileCacheImageInputStream.html
 javax/imageio/stream/FileCacheImageOutputStream.html
 javax/imageio/stream/FileImageInputStream.html
 javax/imageio/stream/FileImageOutputStream.html
 javax/imageio/stream/IIOByteBuffer.html
 javax/imageio/stream/ImageInputStream.html
 javax/imageio/stream/ImageInputStreamImpl.html
 javax/imageio/stream/ImageOutputStream.html
 javax/imageio/stream/ImageOutputStreamImpl.html
 javax/imageio/stream/MemoryCacheImageInputStream.html
 javax/imageio/stream/MemoryCacheImageOutputStream.html
 javax/naming/ldap/StartTlsRequest.html
 javax/naming/ldap/StartTlsResponse.html
 javax/net/ServerSocketFactory.html
 javax/net/SocketFactory.html
 javax/net/ssl/HandshakeCompletedEvent.html
 javax/net/ssl/HandshakeCompletedListener.html
 javax/net/ssl/HostnameVerifier.html
 javax/net/ssl/HttpsURLConnection.html
 javax/net/ssl/KeyManager.html
 javax/net/ssl/KeyManagerFactory.html
 javax/net/ssl/KeyManagerFactorySpi.html
 javax/net/ssl/ManagerFactoryParameters.html
 javax/net/ssl/SSLContext.html
 javax/net/ssl/SSLContextSpi.html
 javax/net/ssl/SSLException.html
 javax/net/ssl/SSLHandshakeException.html
 javax/net/ssl/SSLKeyException.html
 javax/net/ssl/SSLPeerUnverifiedException.html
 javax/net/ssl/SSLPermission.html
 javax/net/ssl/SSLProtocolException.html
 javax/net/ssl/SSLServerSocket.html
 javax/net/ssl/SSLServerSocketFactory.html
 javax/net/ssl/SSLSession.html
 javax/net/ssl/SSLSessionBindingEvent.html
 javax/net/ssl/SSLSessionBindingListener.html
 javax/net/ssl/SSLSessionContext.html
 javax/net/ssl/SSLSocket.html
 javax/net/ssl/SSLSocketFactory.html
 javax/net/ssl/TrustManager.html
 javax/net/ssl/TrustManagerFactory.html
 javax/net/ssl/TrustManagerFactorySpi.html
 javax/net/ssl/X509KeyManager.html
 javax/net/ssl/X509TrustManager.html
 javax/print/AttributeException.html
 javax/print/CancelablePrintJob.html
 javax/print/Doc.html
 javax/print/DocFlavor.BYTE_ARRAY.html
 javax/print/DocFlavor.CHAR_ARRAY.html
 javax/print/DocFlavor.INPUT_STREAM.html
 javax/print/DocFlavor.READER.html
 javax/print/DocFlavor.SERVICE_FORMATTED.html
 javax/print/DocFlavor.STRING.html
 javax/print/DocFlavor.URL.html
 javax/print/DocFlavor.html
 javax/print/DocPrintJob.html
 javax/print/FlavorException.html
 javax/print/MultiDoc.html
 javax/print/MultiDocPrintJob.html
 javax/print/MultiDocPrintService.html
 javax/print/PrintException.html
 javax/print/PrintService.html
 javax/print/PrintServiceLookup.html
 javax/print/ServiceUI.html
 javax/print/ServiceUIFactory.html
 javax/print/SimpleDoc.html
 javax/print/StreamPrintService.html
 javax/print/StreamPrintServiceFactory.html
 javax/print/URIException.html
 javax/print/attribute/Attribute.html
 javax/print/attribute/AttributeSet.html
 javax/print/attribute/AttributeSetUtilities.html
 javax/print/attribute/DateTimeSyntax.html
 javax/print/attribute/DocAttribute.html
 javax/print/attribute/DocAttributeSet.html
 javax/print/attribute/EnumSyntax.html
 javax/print/attribute/HashAttributeSet.html
 javax/print/attribute/HashDocAttributeSet.html
 javax/print/attribute/HashPrintJobAttributeSet.html
 javax/print/attribute/HashPrintRequestAttributeSet.html
 javax/print/attribute/HashPrintServiceAttributeSet.html
 javax/print/attribute/IntegerSyntax.html
 javax/print/attribute/PrintJobAttribute.html
 javax/print/attribute/PrintJobAttributeSet.html
 javax/print/attribute/PrintRequestAttribute.html
 javax/print/attribute/PrintRequestAttributeSet.html
 javax/print/attribute/PrintServiceAttribute.html
 javax/print/attribute/PrintServiceAttributeSet.html
 javax/print/attribute/ResolutionSyntax.html
 javax/print/attribute/SetOfIntegerSyntax.html
 javax/print/attribute/Size2DSyntax.html
 javax/print/attribute/SupportedValuesAttribute.html
 javax/print/attribute/TextSyntax.html
 javax/print/attribute/URISyntax.html
 javax/print/attribute/UnmodifiableSetException.html
 javax/print/attribute/standard/Chromaticity.html
 javax/print/attribute/standard/ColorSupported.html
 javax/print/attribute/standard/Compression.html
 javax/print/attribute/standard/Copies.html
 javax/print/attribute/standard/CopiesSupported.html
 javax/print/attribute/standard/DateTimeAtCompleted.html
 javax/print/attribute/standard/DateTimeAtCreation.html
 javax/print/attribute/standard/DateTimeAtProcessing.html
 javax/print/attribute/standard/Destination.html
 javax/print/attribute/standard/DocumentName.html
 javax/print/attribute/standard/Fidelity.html
 javax/print/attribute/standard/Finishings.html
 javax/print/attribute/standard/JobHoldUntil.html
 javax/print/attribute/standard/JobImpressions.html
 javax/print/attribute/standard/JobImpressionsCompleted.html
 javax/print/attribute/standard/JobImpressionsSupported.html
 javax/print/attribute/standard/JobKOctets.html
 javax/print/attribute/standard/JobKOctetsProcessed.html
 javax/print/attribute/standard/JobKOctetsSupported.html
 javax/print/attribute/standard/JobMediaSheets.html
 javax/print/attribute/standard/JobMediaSheetsCompleted.html
 javax/print/attribute/standard/JobMediaSheetsSupported.html
 javax/print/attribute/standard/JobMessageFromOperator.html
 javax/print/attribute/standard/JobName.html
 javax/print/attribute/standard/JobOriginatingUserName.html
 javax/print/attribute/standard/JobPriority.html
 javax/print/attribute/standard/JobPrioritySupported.html
 javax/print/attribute/standard/JobSheets.html
 javax/print/attribute/standard/JobState.html
 javax/print/attribute/standard/JobStateReason.html
 javax/print/attribute/standard/JobStateReasons.html
 javax/print/attribute/standard/Media.html
 javax/print/attribute/standard/MediaName.html
 javax/print/attribute/standard/MediaPrintableArea.html
 javax/print/attribute/standard/MediaSize.Engineering.html
 javax/print/attribute/standard/MediaSize.ISO.html
 javax/print/attribute/standard/MediaSize.JIS.html
 javax/print/attribute/standard/MediaSize.NA.html
 javax/print/attribute/standard/MediaSize.Other.html
 javax/print/attribute/standard/MediaSize.html
 javax/print/attribute/standard/MediaSizeName.html
 javax/print/attribute/standard/MediaTray.html
 javax/print/attribute/standard/MultipleDocumentHandling.html
 javax/print/attribute/standard/NumberOfDocuments.html
 javax/print/attribute/standard/NumberOfInterveningJobs.html
 javax/print/attribute/standard/NumberUp.html
 javax/print/attribute/standard/NumberUpSupported.html
 javax/print/attribute/standard/OrientationRequested.html
 javax/print/attribute/standard/OutputDeviceAssigned.html
 javax/print/attribute/standard/PDLOverrideSupported.html
 javax/print/attribute/standard/PageRanges.html
 javax/print/attribute/standard/PagesPerMinute.html
 javax/print/attribute/standard/PagesPerMinuteColor.html
 javax/print/attribute/standard/PresentationDirection.html
 javax/print/attribute/standard/PrintQuality.html
 javax/print/attribute/standard/PrinterInfo.html
 javax/print/attribute/standard/PrinterIsAcceptingJobs.html
 javax/print/attribute/standard/PrinterLocation.html
 javax/print/attribute/standard/PrinterMakeAndModel.html
 javax/print/attribute/standard/PrinterMessageFromOperator.html
 javax/print/attribute/standard/PrinterMoreInfo.html
 javax/print/attribute/standard/PrinterMoreInfoManufacturer.html
 javax/print/attribute/standard/PrinterName.html
 javax/print/attribute/standard/PrinterResolution.html
 javax/print/attribute/standard/PrinterState.html
 javax/print/attribute/standard/PrinterStateReason.html
 javax/print/attribute/standard/PrinterStateReasons.html
 javax/print/attribute/standard/PrinterURI.html
 javax/print/attribute/standard/QueuedJobCount.html
 javax/print/attribute/standard/ReferenceUriSchemesSupported.html
 javax/print/attribute/standard/RequestingUserName.html
 javax/print/attribute/standard/Severity.html
 javax/print/attribute/standard/SheetCollate.html
 javax/print/attribute/standard/Sides.html
 javax/print/event/PrintEvent.html
 javax/print/event/PrintJobAdapter.html
 javax/print/event/PrintJobAttributeEvent.html
 javax/print/event/PrintJobAttributeListener.html
 javax/print/event/PrintJobEvent.html
 javax/print/event/PrintJobListener.html
 javax/print/event/PrintServiceAttributeEvent.html
 javax/print/event/PrintServiceAttributeListener.html
 javax/security/auth/AuthPermission.html
 javax/security/auth/DestroyFailedException.html
 javax/security/auth/Destroyable.html
 javax/security/auth/Policy.html
 javax/security/auth/PrivateCredentialPermission.html
 javax/security/auth/RefreshFailedException.html
 javax/security/auth/Refreshable.html
 javax/security/auth/Subject.html
 javax/security/auth/SubjectDomainCombiner.html
 javax/security/auth/callback/Callback.html
 javax/security/auth/callback/CallbackHandler.html
 javax/security/auth/callback/ChoiceCallback.html
 javax/security/auth/callback/ConfirmationCallback.html
 javax/security/auth/callback/LanguageCallback.html
 javax/security/auth/callback/NameCallback.html
 javax/security/auth/callback/PasswordCallback.html
 javax/security/auth/callback/TextInputCallback.html
 javax/security/auth/callback/TextOutputCallback.html
 javax/security/auth/callback/UnsupportedCallbackException.html
 javax/security/auth/kerberos/DelegationPermission.html
 javax/security/auth/kerberos/KerberosKey.html
 javax/security/auth/kerberos/KerberosPrincipal.html
 javax/security/auth/kerberos/KerberosTicket.html
 javax/security/auth/kerberos/ServicePermission.html
 javax/security/auth/login/AccountExpiredException.html
 javax/security/auth/login/AppConfigurationEntry.LoginModuleControlFlag.html
 javax/security/auth/login/AppConfigurationEntry.html
 javax/security/auth/login/Configuration.html
 javax/security/auth/login/CredentialExpiredException.html
 javax/security/auth/login/FailedLoginException.html
 javax/security/auth/login/LoginContext.html
 javax/security/auth/login/LoginException.html
 javax/security/auth/spi/LoginModule.html
 javax/security/auth/x500/X500Principal.html
 javax/security/auth/x500/X500PrivateCredential.html
 javax/security/cert/Certificate.html
 javax/security/cert/CertificateEncodingException.html
 javax/security/cert/CertificateException.html
 javax/security/cert/CertificateExpiredException.html
 javax/security/cert/CertificateNotYetValidException.html
 javax/security/cert/CertificateParsingException.html
 javax/security/cert/X509Certificate.html
 javax/sql/ConnectionEvent.html
 javax/sql/ConnectionEventListener.html
 javax/sql/ConnectionPoolDataSource.html
 javax/sql/DataSource.html
 javax/sql/PooledConnection.html
 javax/sql/RowSet.html
 javax/sql/RowSetEvent.html
 javax/sql/RowSetInternal.html
 javax/sql/RowSetListener.html
 javax/sql/RowSetMetaData.html
 javax/sql/RowSetReader.html
 javax/sql/RowSetWriter.html
 javax/sql/XAConnection.html
 javax/sql/XADataSource.html
 javax/swing/AbstractSpinnerModel.html
 javax/swing/InternalFrameFocusTraversalPolicy.html
 javax/swing/JFormattedTextField.AbstractFormatter.html
 javax/swing/JFormattedTextField.AbstractFormatterFactory.html
 javax/swing/JFormattedTextField.html
 javax/swing/JSpinner.DateEditor.html
 javax/swing/JSpinner.DefaultEditor.html
 javax/swing/JSpinner.ListEditor.html
 javax/swing/JSpinner.NumberEditor.html
 javax/swing/JSpinner.html
 javax/swing/LayoutFocusTraversalPolicy.html
 javax/swing/Popup.html
 javax/swing/PopupFactory.html
 javax/swing/SortingFocusTraversalPolicy.html
 javax/swing/SpinnerDateModel.html
 javax/swing/SpinnerListModel.html
 javax/swing/SpinnerModel.html
 javax/swing/SpinnerNumberModel.html
 javax/swing/Spring.html
 javax/swing/SpringLayout.Constraints.html
 javax/swing/SpringLayout.html
 javax/swing/TransferHandler.html
 javax/swing/plaf/SpinnerUI.html
 javax/swing/plaf/basic/BasicBorders.RolloverButtonBorder.html
 javax/swing/plaf/basic/BasicFormattedTextFieldUI.html
 javax/swing/plaf/basic/BasicSpinnerUI.html
 javax/swing/plaf/metal/MetalRootPaneUI.html
 javax/swing/plaf/multi/MultiRootPaneUI.html
 javax/swing/plaf/multi/MultiSpinnerUI.html
 javax/swing/text/DateFormatter.html
 javax/swing/text/DefaultFormatter.html
 javax/swing/text/DefaultFormatterFactory.html
 javax/swing/text/DocumentFilter.FilterBypass.html
 javax/swing/text/DocumentFilter.html
 javax/swing/text/InternationalFormatter.html
 javax/swing/text/MaskFormatter.html
 javax/swing/text/NavigationFilter.FilterBypass.html
 javax/swing/text/NavigationFilter.html
 javax/swing/text/NumberFormatter.html
 javax/swing/text/html/ImageView.html
 javax/transaction/xa/XAException.html
 javax/transaction/xa/XAResource.html
 javax/transaction/xa/Xid.html
 javax/xml/parsers/DocumentBuilder.html
 javax/xml/parsers/DocumentBuilderFactory.html
 javax/xml/parsers/FactoryConfigurationError.html
 javax/xml/parsers/ParserConfigurationException.html
 javax/xml/parsers/SAXParser.html
 javax/xml/parsers/SAXParserFactory.html
 javax/xml/transform/ErrorListener.html
 javax/xml/transform/OutputKeys.html
 javax/xml/transform/Result.html
 javax/xml/transform/Source.html
 javax/xml/transform/SourceLocator.html
 javax/xml/transform/Templates.html
 javax/xml/transform/Transformer.html
 javax/xml/transform/TransformerConfigurationException.html
 javax/xml/transform/TransformerException.html
 javax/xml/transform/TransformerFactory.html
 javax/xml/transform/TransformerFactoryConfigurationError.html
 javax/xml/transform/URIResolver.html
 javax/xml/transform/dom/DOMLocator.html
 javax/xml/transform/dom/DOMResult.html
 javax/xml/transform/dom/DOMSource.html
 javax/xml/transform/sax/SAXResult.html
 javax/xml/transform/sax/SAXSource.html
 javax/xml/transform/sax/SAXTransformerFactory.html
 javax/xml/transform/sax/TemplatesHandler.html
 javax/xml/transform/sax/TransformerHandler.html
 javax/xml/transform/stream/StreamResult.html
 javax/xml/transform/stream/StreamSource.html
 org/ietf/jgss/ChannelBinding.html
 org/ietf/jgss/GSSContext.html
 org/ietf/jgss/GSSCredential.html
 org/ietf/jgss/GSSException.html
 org/ietf/jgss/GSSManager.html
 org/ietf/jgss/GSSName.html
 org/ietf/jgss/MessageProp.html
 org/ietf/jgss/Oid.html
 org/omg/CORBA/LocalObject.html
 org/omg/CORBA/ParameterMode.html
 org/omg/CORBA/ParameterModeHelper.html
 org/omg/CORBA/ParameterModeHolder.html
 org/omg/CORBA/PolicyErrorCodeHelper.html
 org/omg/CORBA/PolicyErrorHelper.html
 org/omg/CORBA/PolicyErrorHolder.html
 org/omg/CORBA/StringSeqHelper.html
 org/omg/CORBA/StringSeqHolder.html
 org/omg/CORBA/UnknownUserExceptionHelper.html
 org/omg/CORBA/UnknownUserExceptionHolder.html
 org/omg/CORBA/WStringSeqHelper.html
 org/omg/CORBA/WStringSeqHolder.html
 org/omg/CORBA/WrongTransactionHelper.html
 org/omg/CORBA/WrongTransactionHolder.html
 org/omg/CosNaming/BindingIteratorPOA.html
 org/omg/CosNaming/NamingContextExt.html
 org/omg/CosNaming/NamingContextExtHelper.html
 org/omg/CosNaming/NamingContextExtHolder.html
 org/omg/CosNaming/NamingContextExtOperations.html
 org/omg/CosNaming/NamingContextExtPOA.html
 org/omg/CosNaming/NamingContextExtPackage/AddressHelper.html
 org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.html
 org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.html
 org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.html
 org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.html
 org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.html
 org/omg/CosNaming/NamingContextPOA.html
 org/omg/CosNaming/_NamingContextExtStub.html
 org/omg/Dynamic/Parameter.html
 org/omg/DynamicAny/AnySeqHelper.html
 org/omg/DynamicAny/DynAny.html
 org/omg/DynamicAny/DynAnyFactory.html
 org/omg/DynamicAny/DynAnyFactoryHelper.html
 org/omg/DynamicAny/DynAnyFactoryOperations.html
 org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.html
 org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.html
 org/omg/DynamicAny/DynAnyHelper.html
 org/omg/DynamicAny/DynAnyOperations.html
 org/omg/DynamicAny/DynAnyPackage/InvalidValue.html
 org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.html
 org/omg/DynamicAny/DynAnyPackage/TypeMismatch.html
 org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.html
 org/omg/DynamicAny/DynAnySeqHelper.html
 org/omg/DynamicAny/DynArray.html
 org/omg/DynamicAny/DynArrayHelper.html
 org/omg/DynamicAny/DynArrayOperations.html
 org/omg/DynamicAny/DynEnum.html
 org/omg/DynamicAny/DynEnumHelper.html
 org/omg/DynamicAny/DynEnumOperations.html
 org/omg/DynamicAny/DynFixed.html
 org/omg/DynamicAny/DynFixedHelper.html
 org/omg/DynamicAny/DynFixedOperations.html
 org/omg/DynamicAny/DynSequence.html
 org/omg/DynamicAny/DynSequenceHelper.html
 org/omg/DynamicAny/DynSequenceOperations.html
 org/omg/DynamicAny/DynStruct.html
 org/omg/DynamicAny/DynStructHelper.html
 org/omg/DynamicAny/DynStructOperations.html
 org/omg/DynamicAny/DynUnion.html
 org/omg/DynamicAny/DynUnionHelper.html
 org/omg/DynamicAny/DynUnionOperations.html
 org/omg/DynamicAny/DynValue.html
 org/omg/DynamicAny/DynValueBox.html
 org/omg/DynamicAny/DynValueBoxOperations.html
 org/omg/DynamicAny/DynValueCommon.html
 org/omg/DynamicAny/DynValueCommonOperations.html
 org/omg/DynamicAny/DynValueHelper.html
 org/omg/DynamicAny/DynValueOperations.html
 org/omg/DynamicAny/FieldNameHelper.html
 org/omg/DynamicAny/NameDynAnyPair.html
 org/omg/DynamicAny/NameDynAnyPairHelper.html
 org/omg/DynamicAny/NameDynAnyPairSeqHelper.html
 org/omg/DynamicAny/NameValuePair.html
 org/omg/DynamicAny/NameValuePairHelper.html
 org/omg/DynamicAny/NameValuePairSeqHelper.html
 org/omg/DynamicAny/_DynAnyFactoryStub.html
 org/omg/DynamicAny/_DynAnyStub.html
 org/omg/DynamicAny/_DynArrayStub.html
 org/omg/DynamicAny/_DynEnumStub.html
 org/omg/DynamicAny/_DynFixedStub.html
 org/omg/DynamicAny/_DynSequenceStub.html
 org/omg/DynamicAny/_DynStructStub.html
 org/omg/DynamicAny/_DynUnionStub.html
 org/omg/DynamicAny/_DynValueStub.html
 org/omg/IOP/CodeSets.html
 org/omg/IOP/Codec.html
 org/omg/IOP/CodecFactory.html
 org/omg/IOP/CodecFactoryHelper.html
 org/omg/IOP/CodecFactoryOperations.html
 org/omg/IOP/CodecFactoryPackage/UnknownEncoding.html
 org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.html
 org/omg/IOP/CodecOperations.html
 org/omg/IOP/CodecPackage/FormatMismatch.html
 org/omg/IOP/CodecPackage/FormatMismatchHelper.html
 org/omg/IOP/CodecPackage/InvalidTypeForEncoding.html
 org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.html
 org/omg/IOP/CodecPackage/TypeMismatch.html
 org/omg/IOP/CodecPackage/TypeMismatchHelper.html
 org/omg/IOP/ComponentIdHelper.html
 org/omg/IOP/ENCODING_CDR_ENCAPS.html
 org/omg/IOP/Encoding.html
 org/omg/IOP/IOR.html
 org/omg/IOP/IORHelper.html
 org/omg/IOP/IORHolder.html
 org/omg/IOP/MultipleComponentProfileHelper.html
 org/omg/IOP/MultipleComponentProfileHolder.html
 org/omg/IOP/ProfileIdHelper.html
 org/omg/IOP/ServiceContext.html
 org/omg/IOP/ServiceContextHelper.html
 org/omg/IOP/ServiceContextHolder.html
 org/omg/IOP/ServiceContextListHelper.html
 org/omg/IOP/ServiceContextListHolder.html
 org/omg/IOP/ServiceIdHelper.html
 org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.html
 org/omg/IOP/TAG_CODE_SETS.html
 org/omg/IOP/TAG_INTERNET_IOP.html
 org/omg/IOP/TAG_JAVA_CODEBASE.html
 org/omg/IOP/TAG_MULTIPLE_COMPONENTS.html
 org/omg/IOP/TAG_ORB_TYPE.html
 org/omg/IOP/TAG_POLICIES.html
 org/omg/IOP/TaggedComponent.html
 org/omg/IOP/TaggedComponentHelper.html
 org/omg/IOP/TaggedComponentHolder.html
 org/omg/IOP/TaggedProfile.html
 org/omg/IOP/TaggedProfileHelper.html
 org/omg/IOP/TaggedProfileHolder.html
 org/omg/IOP/TransactionService.html
 org/omg/Messaging/SYNC_WITH_TRANSPORT.html
 org/omg/Messaging/SyncScopeHelper.html
 org/omg/PortableInterceptor/ClientRequestInfo.html
 org/omg/PortableInterceptor/ClientRequestInfoOperations.html
 org/omg/PortableInterceptor/ClientRequestInterceptor.html
 org/omg/PortableInterceptor/ClientRequestInterceptorOperations.html
 org/omg/PortableInterceptor/Current.html
 org/omg/PortableInterceptor/CurrentHelper.html
 org/omg/PortableInterceptor/CurrentOperations.html
 org/omg/PortableInterceptor/ForwardRequest.html
 org/omg/PortableInterceptor/ForwardRequestHelper.html
 org/omg/PortableInterceptor/IORInfo.html
 org/omg/PortableInterceptor/IORInfoOperations.html
 org/omg/PortableInterceptor/IORInterceptor.html
 org/omg/PortableInterceptor/IORInterceptorOperations.html
 org/omg/PortableInterceptor/Interceptor.html
 org/omg/PortableInterceptor/InterceptorOperations.html
 org/omg/PortableInterceptor/InvalidSlot.html
 org/omg/PortableInterceptor/InvalidSlotHelper.html
 org/omg/PortableInterceptor/LOCATION_FORWARD.html
 org/omg/PortableInterceptor/ORBInitInfo.html
 org/omg/PortableInterceptor/ORBInitInfoOperations.html
 org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.html
 org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.html
 org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.html
 org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.html
 org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.html
 org/omg/PortableInterceptor/ORBInitializer.html
 org/omg/PortableInterceptor/ORBInitializerOperations.html
 org/omg/PortableInterceptor/PolicyFactory.html
 org/omg/PortableInterceptor/PolicyFactoryOperations.html
 org/omg/PortableInterceptor/RequestInfo.html
 org/omg/PortableInterceptor/RequestInfoOperations.html
 org/omg/PortableInterceptor/SUCCESSFUL.html
 org/omg/PortableInterceptor/SYSTEM_EXCEPTION.html
 org/omg/PortableInterceptor/ServerRequestInfo.html
 org/omg/PortableInterceptor/ServerRequestInfoOperations.html
 org/omg/PortableInterceptor/ServerRequestInterceptor.html
 org/omg/PortableInterceptor/ServerRequestInterceptorOperations.html
 org/omg/PortableInterceptor/TRANSPORT_RETRY.html
 org/omg/PortableInterceptor/USER_EXCEPTION.html
 org/omg/PortableServer/AdapterActivator.html
 org/omg/PortableServer/AdapterActivatorOperations.html
 org/omg/PortableServer/Current.html
 org/omg/PortableServer/CurrentHelper.html
 org/omg/PortableServer/CurrentOperations.html
 org/omg/PortableServer/CurrentPackage/NoContext.html
 org/omg/PortableServer/CurrentPackage/NoContextHelper.html
 org/omg/PortableServer/DynamicImplementation.html
 org/omg/PortableServer/ForwardRequest.html
 org/omg/PortableServer/ForwardRequestHelper.html
 org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.html
 org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.html
 org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.html
 org/omg/PortableServer/IdAssignmentPolicy.html
 org/omg/PortableServer/IdAssignmentPolicyOperations.html
 org/omg/PortableServer/IdAssignmentPolicyValue.html
 org/omg/PortableServer/IdUniquenessPolicy.html
 org/omg/PortableServer/IdUniquenessPolicyOperations.html
 org/omg/PortableServer/IdUniquenessPolicyValue.html
 org/omg/PortableServer/ImplicitActivationPolicy.html
 org/omg/PortableServer/ImplicitActivationPolicyOperations.html
 org/omg/PortableServer/ImplicitActivationPolicyValue.html
 org/omg/PortableServer/LIFESPAN_POLICY_ID.html
 org/omg/PortableServer/LifespanPolicy.html
 org/omg/PortableServer/LifespanPolicyOperations.html
 org/omg/PortableServer/LifespanPolicyValue.html
 org/omg/PortableServer/POA.html
 org/omg/PortableServer/POAHelper.html
 org/omg/PortableServer/POAManager.html
 org/omg/PortableServer/POAManagerOperations.html
 org/omg/PortableServer/POAManagerPackage/AdapterInactive.html
 org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.html
 org/omg/PortableServer/POAManagerPackage/State.html
 org/omg/PortableServer/POAOperations.html
 org/omg/PortableServer/POAPackage/AdapterAlreadyExists.html
 org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.html
 org/omg/PortableServer/POAPackage/AdapterNonExistent.html
 org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.html
 org/omg/PortableServer/POAPackage/InvalidPolicy.html
 org/omg/PortableServer/POAPackage/InvalidPolicyHelper.html
 org/omg/PortableServer/POAPackage/NoServant.html
 org/omg/PortableServer/POAPackage/NoServantHelper.html
 org/omg/PortableServer/POAPackage/ObjectAlreadyActive.html
 org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.html
 org/omg/PortableServer/POAPackage/ObjectNotActive.html
 org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.html
 org/omg/PortableServer/POAPackage/ServantAlreadyActive.html
 org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.html
 org/omg/PortableServer/POAPackage/ServantNotActive.html
 org/omg/PortableServer/POAPackage/ServantNotActiveHelper.html
 org/omg/PortableServer/POAPackage/WrongAdapter.html
 org/omg/PortableServer/POAPackage/WrongAdapterHelper.html
 org/omg/PortableServer/POAPackage/WrongPolicy.html
 org/omg/PortableServer/POAPackage/WrongPolicyHelper.html
 org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.html
 org/omg/PortableServer/RequestProcessingPolicy.html
 org/omg/PortableServer/RequestProcessingPolicyOperations.html
 org/omg/PortableServer/RequestProcessingPolicyValue.html
 org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.html
 org/omg/PortableServer/Servant.html
 org/omg/PortableServer/ServantActivator.html
 org/omg/PortableServer/ServantActivatorHelper.html
 org/omg/PortableServer/ServantActivatorOperations.html
 org/omg/PortableServer/ServantActivatorPOA.html
 org/omg/PortableServer/ServantLocator.html
 org/omg/PortableServer/ServantLocatorHelper.html
 org/omg/PortableServer/ServantLocatorOperations.html
 org/omg/PortableServer/ServantLocatorPOA.html
 org/omg/PortableServer/ServantLocatorPackage/CookieHolder.html
 org/omg/PortableServer/ServantManager.html
 org/omg/PortableServer/ServantManagerOperations.html
 org/omg/PortableServer/ServantRetentionPolicy.html
 org/omg/PortableServer/ServantRetentionPolicyOperations.html
 org/omg/PortableServer/ServantRetentionPolicyValue.html
 org/omg/PortableServer/THREAD_POLICY_ID.html
 org/omg/PortableServer/ThreadPolicy.html
 org/omg/PortableServer/ThreadPolicyOperations.html
 org/omg/PortableServer/ThreadPolicyValue.html
 org/omg/PortableServer/_ServantActivatorStub.html
 org/omg/PortableServer/_ServantLocatorStub.html
 org/omg/PortableServer/portable/Delegate.html
 org/w3c/dom/Attr.html
 org/w3c/dom/CDATASection.html
 org/w3c/dom/CharacterData.html
 org/w3c/dom/Comment.html
 org/w3c/dom/DOMException.html
 org/w3c/dom/DOMImplementation.html
 org/w3c/dom/Document.html
 org/w3c/dom/DocumentFragment.html
 org/w3c/dom/DocumentType.html
 org/w3c/dom/Element.html
 org/w3c/dom/Entity.html
 org/w3c/dom/EntityReference.html
 org/w3c/dom/NamedNodeMap.html
 org/w3c/dom/Node.html
 org/w3c/dom/NodeList.html
 org/w3c/dom/Notation.html
 org/w3c/dom/ProcessingInstruction.html
 org/w3c/dom/Text.html
 org/xml/sax/AttributeList.html
 org/xml/sax/Attributes.html
 org/xml/sax/ContentHandler.html
 org/xml/sax/DTDHandler.html
 org/xml/sax/DocumentHandler.html
 org/xml/sax/EntityResolver.html
 org/xml/sax/ErrorHandler.html
 org/xml/sax/HandlerBase.html
 org/xml/sax/InputSource.html
 org/xml/sax/Locator.html
 org/xml/sax/Parser.html
 org/xml/sax/SAXException.html
 org/xml/sax/SAXNotRecognizedException.html
 org/xml/sax/SAXNotSupportedException.html
 org/xml/sax/SAXParseException.html
 org/xml/sax/XMLFilter.html
 org/xml/sax/XMLReader.html
 org/xml/sax/ext/DeclHandler.html
 org/xml/sax/ext/LexicalHandler.html
 org/xml/sax/helpers/AttributeListImpl.html
 org/xml/sax/helpers/AttributesImpl.html
 org/xml/sax/helpers/DefaultHandler.html
 org/xml/sax/helpers/LocatorImpl.html
 org/xml/sax/helpers/NamespaceSupport.html
 org/xml/sax/helpers/ParserAdapter.html
 org/xml/sax/helpers/ParserFactory.html
 org/xml/sax/helpers/XMLFilterImpl.html
 org/xml/sax/helpers/XMLReaderAdapter.html
 org/xml/sax/helpers/XMLReaderFactory.html

JDK 1.4 lost two classes (org.omg.CORBA.Initializer and org.omg.CORBA.Repository), but gained a whopping 885 classes and interfaces (2723 - 1840 + 2). It is not surprising that XML processing, logging, and NIO are heavily represented in this list of new classes and interfaces.


Conclusion

Although the Groovy script provided earlier in this post is relatively simple, it demonstrates several nice features of Groovy. Additionally, the script provides an easy, lightweight way to take a stroll down memory lane and remember how far the Java SDK has come. As part of this story telling of Java's past, I've tried to use the appropriate naming conventions for each version of Java discussed.

No comments: