
2010-06-03 Andrew John Hughes <ahughes@redhat.com> * examples/gnu/classpath/examples/CORBA/NamingService/Demo.java, * examples/gnu/classpath/examples/CORBA/SimpleCommunication/Demo.java, * examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/StructureToPass.java, * examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/StructureToReturn.java, * examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/TreeNode.java, * examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/WeThrowThisException.java, * examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/WeThrowThisExceptionHelper.java, * examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/_DemoTesterImplBase.java, * examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/_DemoTesterStub.java, * examples/gnu/classpath/examples/CORBA/swing/x5/CanvasWorld.java, * examples/gnu/classpath/examples/CORBA/swing/x5/ChatConstants.java, * examples/gnu/classpath/examples/CORBA/swing/x5/ClientFrame.java, * examples/gnu/classpath/examples/CORBA/swing/x5/Demo.java, * examples/gnu/classpath/examples/CORBA/swing/x5/GameManager.java, * examples/gnu/classpath/examples/CORBA/swing/x5/GameManagerImpl.java, * examples/gnu/classpath/examples/CORBA/swing/x5/IorReader.java, * examples/gnu/classpath/examples/CORBA/swing/x5/OrbStarter.java, * examples/gnu/classpath/examples/CORBA/swing/x5/Player.java, * examples/gnu/classpath/examples/CORBA/swing/x5/PlayerImpl.java, * examples/gnu/classpath/examples/CORBA/swing/x5/PlayingDesk.java, * examples/gnu/classpath/examples/CORBA/swing/x5/State.java, * examples/gnu/classpath/examples/CORBA/swing/x5/X5Server.java, * examples/gnu/classpath/examples/CORBA/swing/x5/_GameManagerImpl_Tie.java, * examples/gnu/classpath/examples/CORBA/swing/x5/_GameManager_Stub.java, * examples/gnu/classpath/examples/CORBA/swing/x5/_PlayerImpl_Tie.java, * examples/gnu/classpath/examples/CORBA/swing/x5/_Player_Stub.java, * examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java, * examples/gnu/classpath/examples/awt/Demo.java, * examples/gnu/classpath/examples/awt/HintingDemo.java, * examples/gnu/classpath/examples/datatransfer/Demo.java, * examples/gnu/classpath/examples/html/Demo.java, * examples/gnu/classpath/examples/java2d/J2dBenchmark.java, * examples/gnu/classpath/examples/java2d/J2dBenchmarkGUI.java, * examples/gnu/classpath/examples/java2d/JNIOverhead.java, * examples/gnu/classpath/examples/jawt/DemoJAWT.java, * examples/gnu/classpath/examples/management/TestClassLoading.java, * examples/gnu/classpath/examples/management/TestCompilation.java, * examples/gnu/classpath/examples/management/TestGarbageCollector.java, * examples/gnu/classpath/examples/management/TestMemory.java, * examples/gnu/classpath/examples/management/TestMemoryManager.java, * examples/gnu/classpath/examples/management/TestMemoryPool.java, * examples/gnu/classpath/examples/management/TestThread.java, * examples/gnu/classpath/examples/midi/Demo.java, * examples/gnu/classpath/examples/print/Demo.java, * examples/gnu/classpath/examples/sound/AudioPlayerSample.java, * examples/gnu/classpath/examples/swing/BrowserEditorKit.java, * examples/gnu/classpath/examples/swing/ButtonDemo.java, * examples/gnu/classpath/examples/swing/ComboBoxDemo.java, * examples/gnu/classpath/examples/swing/Demo.java, * examples/gnu/classpath/examples/swing/DemoFactory.java, * examples/gnu/classpath/examples/swing/DocumentFilterDemo.java, * examples/gnu/classpath/examples/swing/FileChooserDemo.java, * examples/gnu/classpath/examples/swing/HtmlDemo.java, * examples/gnu/classpath/examples/swing/ListDemo.java, * examples/gnu/classpath/examples/swing/MetalThemeEditor.java, * examples/gnu/classpath/examples/swing/NavigationFilterDemo.java, * examples/gnu/classpath/examples/swing/ScrollBarDemo.java, * examples/gnu/classpath/examples/swing/SliderDemo.java, * examples/gnu/classpath/examples/swing/SpinnerDemo.java, * examples/gnu/classpath/examples/swing/TabbedPaneDemo.java, * examples/gnu/classpath/examples/swing/TableDemo.java, * examples/gnu/classpath/examples/swing/TextAreaDemo.java, * examples/gnu/classpath/examples/swing/TextFieldDemo.java, * examples/gnu/classpath/examples/swing/TreeDemo.java, * external/jsr166/java/util/ArrayDeque.java, * external/jsr166/java/util/concurrent/ArrayBlockingQueue.java, * external/jsr166/java/util/concurrent/ConcurrentHashMap.java, * external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java, * external/jsr166/java/util/concurrent/ConcurrentSkipListSet.java, * external/jsr166/java/util/concurrent/CopyOnWriteArraySet.java, * external/jsr166/java/util/concurrent/CyclicBarrier.java, * external/jsr166/java/util/concurrent/DelayQueue.java, * external/jsr166/java/util/concurrent/Executors.java, * external/jsr166/java/util/concurrent/FutureTask.java, * external/jsr166/java/util/concurrent/LinkedBlockingDeque.java, * external/jsr166/java/util/concurrent/LinkedBlockingQueue.java, * external/jsr166/java/util/concurrent/PriorityBlockingQueue.java, * external/jsr166/java/util/concurrent/ScheduledExecutorService.java, * external/jsr166/java/util/concurrent/ScheduledThreadPoolExecutor.java, * external/jsr166/java/util/concurrent/Semaphore.java, * external/jsr166/java/util/concurrent/SynchronousQueue.java, * external/jsr166/java/util/concurrent/ThreadPoolExecutor.java, * external/jsr166/java/util/concurrent/atomic/AtomicInteger.java, * external/jsr166/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java, * external/jsr166/java/util/concurrent/atomic/AtomicLong.java, * external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java, * external/jsr166/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java, * external/jsr166/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java, * external/jsr166/java/util/concurrent/locks/AbstractQueuedSynchronizer.java, * external/jsr166/java/util/concurrent/locks/ReentrantReadWriteLock.java, * external/relaxngDatatype/org/relaxng/datatype/Datatype.java, * external/relaxngDatatype/org/relaxng/datatype/DatatypeBuilder.java, * external/relaxngDatatype/org/relaxng/datatype/DatatypeException.java, * external/relaxngDatatype/org/relaxng/datatype/DatatypeLibrary.java, * external/relaxngDatatype/org/relaxng/datatype/DatatypeLibraryFactory.java, * external/relaxngDatatype/org/relaxng/datatype/DatatypeStreamingValidator.java, * external/relaxngDatatype/org/relaxng/datatype/ValidationContext.java, * external/relaxngDatatype/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java, * external/relaxngDatatype/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java, * external/relaxngDatatype/org/relaxng/datatype/helpers/StreamingValidatorImpl.java, * external/sax/org/xml/sax/AttributeList.java, * external/sax/org/xml/sax/Attributes.java, * external/sax/org/xml/sax/ContentHandler.java, * external/sax/org/xml/sax/DTDHandler.java, * external/sax/org/xml/sax/DocumentHandler.java, * external/sax/org/xml/sax/EntityResolver.java, * external/sax/org/xml/sax/ErrorHandler.java, * external/sax/org/xml/sax/HandlerBase.java, * external/sax/org/xml/sax/InputSource.java, * external/sax/org/xml/sax/Locator.java, * external/sax/org/xml/sax/Parser.java, * external/sax/org/xml/sax/SAXException.java, * external/sax/org/xml/sax/SAXNotRecognizedException.java, * external/sax/org/xml/sax/SAXNotSupportedException.java, * external/sax/org/xml/sax/SAXParseException.java, * external/sax/org/xml/sax/XMLReader.java, * external/sax/org/xml/sax/ext/Attributes2.java, * external/sax/org/xml/sax/ext/Attributes2Impl.java, * external/sax/org/xml/sax/ext/DeclHandler.java, * external/sax/org/xml/sax/ext/DefaultHandler2.java, * external/sax/org/xml/sax/ext/EntityResolver2.java, * external/sax/org/xml/sax/ext/LexicalHandler.java, * external/sax/org/xml/sax/ext/Locator2.java, * external/sax/org/xml/sax/ext/Locator2Impl.java, * external/sax/org/xml/sax/helpers/AttributeListImpl.java, * external/sax/org/xml/sax/helpers/AttributesImpl.java, * external/sax/org/xml/sax/helpers/DefaultHandler.java, * external/sax/org/xml/sax/helpers/LocatorImpl.java, * external/sax/org/xml/sax/helpers/NamespaceSupport.java, * external/sax/org/xml/sax/helpers/NewInstance.java, * external/sax/org/xml/sax/helpers/ParserAdapter.java, * external/sax/org/xml/sax/helpers/ParserFactory.java, * external/sax/org/xml/sax/helpers/XMLFilterImpl.java, * external/sax/org/xml/sax/helpers/XMLReaderAdapter.java, * external/sax/org/xml/sax/helpers/XMLReaderFactory.java, * external/w3c_dom/org/w3c/dom/Attr.java, * external/w3c_dom/org/w3c/dom/CDATASection.java, * external/w3c_dom/org/w3c/dom/CharacterData.java, * external/w3c_dom/org/w3c/dom/Comment.java, * external/w3c_dom/org/w3c/dom/DOMConfiguration.java, * external/w3c_dom/org/w3c/dom/DOMError.java, * external/w3c_dom/org/w3c/dom/DOMErrorHandler.java, * external/w3c_dom/org/w3c/dom/DOMException.java, * external/w3c_dom/org/w3c/dom/DOMImplementation.java, * external/w3c_dom/org/w3c/dom/DOMImplementationList.java, * external/w3c_dom/org/w3c/dom/DOMImplementationSource.java, * external/w3c_dom/org/w3c/dom/DOMLocator.java, * external/w3c_dom/org/w3c/dom/DOMStringList.java, * external/w3c_dom/org/w3c/dom/Document.java, * external/w3c_dom/org/w3c/dom/DocumentFragment.java, * external/w3c_dom/org/w3c/dom/DocumentType.java, * external/w3c_dom/org/w3c/dom/Element.java, * external/w3c_dom/org/w3c/dom/Entity.java, * external/w3c_dom/org/w3c/dom/EntityReference.java, * external/w3c_dom/org/w3c/dom/NameList.java, * external/w3c_dom/org/w3c/dom/NamedNodeMap.java, * external/w3c_dom/org/w3c/dom/Node.java, * external/w3c_dom/org/w3c/dom/NodeList.java, * external/w3c_dom/org/w3c/dom/Notation.java, * external/w3c_dom/org/w3c/dom/ProcessingInstruction.java, * external/w3c_dom/org/w3c/dom/Text.java, * external/w3c_dom/org/w3c/dom/TypeInfo.java, * external/w3c_dom/org/w3c/dom/UserDataHandler.java, * external/w3c_dom/org/w3c/dom/bootstrap/DOMImplementationRegistry.java, * external/w3c_dom/org/w3c/dom/css/CSS2Properties.java, * external/w3c_dom/org/w3c/dom/css/CSSCharsetRule.java, * external/w3c_dom/org/w3c/dom/css/CSSFontFaceRule.java, * external/w3c_dom/org/w3c/dom/css/CSSImportRule.java, * external/w3c_dom/org/w3c/dom/css/CSSMediaRule.java, * external/w3c_dom/org/w3c/dom/css/CSSPageRule.java, * external/w3c_dom/org/w3c/dom/css/CSSPrimitiveValue.java, * external/w3c_dom/org/w3c/dom/css/CSSRule.java, * external/w3c_dom/org/w3c/dom/css/CSSRuleList.java, * external/w3c_dom/org/w3c/dom/css/CSSStyleDeclaration.java, * external/w3c_dom/org/w3c/dom/css/CSSStyleRule.java, * external/w3c_dom/org/w3c/dom/css/CSSStyleSheet.java, * external/w3c_dom/org/w3c/dom/css/CSSUnknownRule.java, * external/w3c_dom/org/w3c/dom/css/CSSValue.java, * external/w3c_dom/org/w3c/dom/css/CSSValueList.java, * external/w3c_dom/org/w3c/dom/css/Counter.java, * external/w3c_dom/org/w3c/dom/css/DOMImplementationCSS.java, * external/w3c_dom/org/w3c/dom/css/DocumentCSS.java, * external/w3c_dom/org/w3c/dom/css/ElementCSSInlineStyle.java, * external/w3c_dom/org/w3c/dom/css/RGBColor.java, * external/w3c_dom/org/w3c/dom/css/Rect.java, * external/w3c_dom/org/w3c/dom/css/ViewCSS.java, * external/w3c_dom/org/w3c/dom/events/DocumentEvent.java, * external/w3c_dom/org/w3c/dom/events/Event.java, * external/w3c_dom/org/w3c/dom/events/EventException.java, * external/w3c_dom/org/w3c/dom/events/EventListener.java, * external/w3c_dom/org/w3c/dom/events/EventTarget.java, * external/w3c_dom/org/w3c/dom/events/MouseEvent.java, * external/w3c_dom/org/w3c/dom/events/MutationEvent.java, * external/w3c_dom/org/w3c/dom/events/UIEvent.java, * external/w3c_dom/org/w3c/dom/html2/HTMLAnchorElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLAppletElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLAreaElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLBRElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLBaseElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLBaseFontElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLBodyElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLButtonElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLCollection.java, * external/w3c_dom/org/w3c/dom/html2/HTMLDListElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLDirectoryElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLDivElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLDocument.java, * external/w3c_dom/org/w3c/dom/html2/HTMLElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLFieldSetElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLFontElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLFormElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLFrameElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLFrameSetElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLHRElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLHeadElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLHeadingElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLHtmlElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLIFrameElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLImageElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLInputElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLIsIndexElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLLIElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLLabelElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLLegendElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLLinkElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLMapElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLMenuElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLMetaElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLModElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLOListElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLObjectElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLOptGroupElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLOptionElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLOptionsCollection.java, * external/w3c_dom/org/w3c/dom/html2/HTMLParagraphElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLParamElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLPreElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLQuoteElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLScriptElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLSelectElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLStyleElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLTableCaptionElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLTableCellElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLTableColElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLTableElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLTableRowElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLTableSectionElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLTextAreaElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLTitleElement.java, * external/w3c_dom/org/w3c/dom/html2/HTMLUListElement.java, * external/w3c_dom/org/w3c/dom/ls/DOMImplementationLS.java, * external/w3c_dom/org/w3c/dom/ls/LSException.java, * external/w3c_dom/org/w3c/dom/ls/LSInput.java, * external/w3c_dom/org/w3c/dom/ls/LSLoadEvent.java, * external/w3c_dom/org/w3c/dom/ls/LSOutput.java, * external/w3c_dom/org/w3c/dom/ls/LSParser.java, * external/w3c_dom/org/w3c/dom/ls/LSParserFilter.java, * external/w3c_dom/org/w3c/dom/ls/LSProgressEvent.java, * external/w3c_dom/org/w3c/dom/ls/LSResourceResolver.java, * external/w3c_dom/org/w3c/dom/ls/LSSerializer.java, * external/w3c_dom/org/w3c/dom/ls/LSSerializerFilter.java, * external/w3c_dom/org/w3c/dom/ranges/DocumentRange.java, * external/w3c_dom/org/w3c/dom/ranges/Range.java, * external/w3c_dom/org/w3c/dom/ranges/RangeException.java, * external/w3c_dom/org/w3c/dom/stylesheets/DocumentStyle.java, * external/w3c_dom/org/w3c/dom/stylesheets/LinkStyle.java, * external/w3c_dom/org/w3c/dom/stylesheets/MediaList.java, * external/w3c_dom/org/w3c/dom/stylesheets/StyleSheet.java, * external/w3c_dom/org/w3c/dom/stylesheets/StyleSheetList.java, * external/w3c_dom/org/w3c/dom/traversal/DocumentTraversal.java, * external/w3c_dom/org/w3c/dom/traversal/NodeFilter.java, * external/w3c_dom/org/w3c/dom/traversal/NodeIterator.java, * external/w3c_dom/org/w3c/dom/traversal/TreeWalker.java, * external/w3c_dom/org/w3c/dom/views/AbstractView.java, * external/w3c_dom/org/w3c/dom/views/DocumentView.java, * external/w3c_dom/org/w3c/dom/xpath/XPathEvaluator.java, * external/w3c_dom/org/w3c/dom/xpath/XPathException.java, * external/w3c_dom/org/w3c/dom/xpath/XPathExpression.java, * external/w3c_dom/org/w3c/dom/xpath/XPathNSResolver.java, * external/w3c_dom/org/w3c/dom/xpath/XPathNamespace.java, * external/w3c_dom/org/w3c/dom/xpath/XPathResult.java, * gnu/CORBA/BigDecimalHelper.java, * gnu/CORBA/CDR/AbstractCdrInput.java, * gnu/CORBA/CDR/AbstractCdrOutput.java, * gnu/CORBA/CDR/AbstractDataInput.java, * gnu/CORBA/CDR/AbstractDataOutput.java, * gnu/CORBA/CDR/AligningInput.java, * gnu/CORBA/CDR/AligningOutput.java, * gnu/CORBA/CDR/ArrayValueHelper.java, * gnu/CORBA/CDR/BigEndianInputStream.java, * gnu/CORBA/CDR/BigEndianOutputStream.java, * gnu/CORBA/CDR/BufferedCdrOutput.java, * gnu/CORBA/CDR/BufferredCdrInput.java, * gnu/CORBA/CDR/HeadlessInput.java, * gnu/CORBA/CDR/IDLTypeHelper.java, * gnu/CORBA/CDR/LittleEndianOutputStream.java, * gnu/CORBA/CDR/UnknownExceptionCtxHandler.java, * gnu/CORBA/CDR/VMVio.java, * gnu/CORBA/CDR/Vio.java, * gnu/CORBA/CDR/gnuRuntime.java, * gnu/CORBA/CDR/gnuValueStream.java, * gnu/CORBA/CdrEncapsCodecImpl.java, * gnu/CORBA/CollocatedOrbs.java, * gnu/CORBA/Connected_objects.java, * gnu/CORBA/DefaultSocketFactory.java, * gnu/CORBA/DuplicateNameHolder.java, * gnu/CORBA/DynAn/AbstractAny.java, * gnu/CORBA/DynAn/DivideableAny.java, * gnu/CORBA/DynAn/NameValuePairHolder.java, * gnu/CORBA/DynAn/RecordAny.java, * gnu/CORBA/DynAn/ValueChangeListener.java, * gnu/CORBA/DynAn/gnuDynAny.java, * gnu/CORBA/DynAn/gnuDynAnyFactory.java, * gnu/CORBA/DynAn/gnuDynArray.java, * gnu/CORBA/DynAn/gnuDynEnum.java, * gnu/CORBA/DynAn/gnuDynFixed.java, * gnu/CORBA/DynAn/gnuDynSequence.java, * gnu/CORBA/DynAn/gnuDynUnion.java, * gnu/CORBA/DynAn/gnuDynValue.java, * gnu/CORBA/DynAn/gnuDynValueBox.java, * gnu/CORBA/DynAnySeqHolder.java, * gnu/CORBA/EmptyExceptionHolder.java, * gnu/CORBA/ForwardRequestHelper.java, * gnu/CORBA/GIOP/CharSets_OSF.java, * gnu/CORBA/GIOP/CloseMessage.java, * gnu/CORBA/GIOP/ErrorMessage.java, * gnu/CORBA/GIOP/MessageHeader.java, * gnu/CORBA/GIOP/ServiceContext.java, * gnu/CORBA/GIOP/v1_2/RequestHeader.java, * gnu/CORBA/GeneralHolder.java, * gnu/CORBA/IOR.java, * gnu/CORBA/Interceptor/ClientRequestInterceptors.java, * gnu/CORBA/Interceptor/ForwardRequestHolder.java, * gnu/CORBA/Interceptor/IORInterceptors.java, * gnu/CORBA/Interceptor/Registrator.java, * gnu/CORBA/Interceptor/ServerRequestInterceptors.java, * gnu/CORBA/Interceptor/gnuClientRequestInfo.java, * gnu/CORBA/Interceptor/gnuIcCurrent.java, * gnu/CORBA/Interceptor/gnuIorInfo.java, * gnu/CORBA/Interceptor/gnuServerRequestInfo.java, * gnu/CORBA/IorDelegate.java, * gnu/CORBA/IorObject.java, * gnu/CORBA/Minor.java, * gnu/CORBA/NameDynAnyPairHolder.java, * gnu/CORBA/NameDynAnyPairSeqHolder.java, * gnu/CORBA/NameValuePairHolder.java, * gnu/CORBA/NameValuePairSeqHolder.java, * gnu/CORBA/NamingService/NameParser.java, * gnu/CORBA/NamingService/NamingMap.java, * gnu/CORBA/NamingService/NamingServiceTransient.java, * gnu/CORBA/NamingService/TransientContext.java, * gnu/CORBA/ObjectCreator.java, * gnu/CORBA/OrbFocused.java, * gnu/CORBA/OrbFunctional.java, * gnu/CORBA/OrbRestricted.java, * gnu/CORBA/Poa/AOM.java, * gnu/CORBA/Poa/AccessiblePolicy.java, * gnu/CORBA/Poa/DynamicImpHandler.java, * gnu/CORBA/Poa/ForwardRequestHolder.java, * gnu/CORBA/Poa/ForwardedServant.java, * gnu/CORBA/Poa/InvalidPolicyHolder.java, * gnu/CORBA/Poa/LocalDelegate.java, * gnu/CORBA/Poa/LocalRequest.java, * gnu/CORBA/Poa/LocalServerRequest.java, * gnu/CORBA/Poa/ORB_1_4.java, * gnu/CORBA/Poa/ServantDelegateImpl.java, * gnu/CORBA/Poa/StandardPolicies.java, * gnu/CORBA/Poa/gnuAdapterActivator.java, * gnu/CORBA/Poa/gnuForwardRequest.java, * gnu/CORBA/Poa/gnuIdAssignmentPolicy.java, * gnu/CORBA/Poa/gnuIdUniquenessPolicy.java, * gnu/CORBA/Poa/gnuImplicitActivationPolicy.java, * gnu/CORBA/Poa/gnuLifespanPolicy.java, * gnu/CORBA/Poa/gnuPOA.java, * gnu/CORBA/Poa/gnuPOAManager.java, * gnu/CORBA/Poa/gnuPoaCurrent.java, * gnu/CORBA/Poa/gnuRequestProcessingPolicy.java, * gnu/CORBA/Poa/gnuServantObject.java, * gnu/CORBA/Poa/gnuServantRetentionPolicy.java, * gnu/CORBA/Poa/gnuThreadPolicy.java, * gnu/CORBA/ServiceRequestAdapter.java, * gnu/CORBA/SetOverrideTypeHolder.java, * gnu/CORBA/SimpleDelegate.java, * gnu/CORBA/SocketRepository.java, * gnu/CORBA/StreamHolder.java, * gnu/CORBA/TypeCodeHelper.java, * gnu/CORBA/TypeKindNamer.java, * gnu/CORBA/Version.java, * gnu/CORBA/_PolicyImplBase.java, * gnu/CORBA/gnuAny.java, * gnu/CORBA/gnuCodecFactory.java, * gnu/CORBA/gnuEnvironment.java, * gnu/CORBA/gnuRequest.java, * gnu/CORBA/gnuValueHolder.java, * gnu/CORBA/interfaces/SocketFactory.java, * gnu/CORBA/typecodes/AliasTypeCode.java, * gnu/CORBA/typecodes/ArrayTypeCode.java, * gnu/CORBA/typecodes/FixedTypeCode.java, * gnu/CORBA/typecodes/GeneralTypeCode.java, * gnu/CORBA/typecodes/PrimitiveTypeCode.java, * gnu/CORBA/typecodes/RecordTypeCode.java, * gnu/CORBA/typecodes/RecursiveTypeCode.java, * gnu/CORBA/typecodes/StringTypeCode.java, * gnu/classpath/Pair.java, * gnu/classpath/Pointer.java, * gnu/classpath/Pointer32.java, * gnu/classpath/Pointer64.java, * gnu/classpath/ServiceFactory.java, * gnu/classpath/ServiceProviderLoadingAction.java, * gnu/classpath/SystemProperties.java, * gnu/classpath/debug/Component.java, * gnu/classpath/debug/PreciseFilter.java, * gnu/classpath/debug/SystemLogger.java, * gnu/classpath/debug/TeeInputStream.java, * gnu/classpath/debug/TeeReader.java, * gnu/classpath/jdwp/Jdwp.java, * gnu/classpath/jdwp/JdwpConstants.java, * gnu/classpath/jdwp/event/BreakpointEvent.java, * gnu/classpath/jdwp/event/ClassPrepareEvent.java, * gnu/classpath/jdwp/event/ClassUnloadEvent.java, * gnu/classpath/jdwp/event/Event.java, * gnu/classpath/jdwp/event/EventManager.java, * gnu/classpath/jdwp/event/EventRequest.java, * gnu/classpath/jdwp/event/ExceptionEvent.java, * gnu/classpath/jdwp/event/MethodEntryEvent.java, * gnu/classpath/jdwp/event/MethodExitEvent.java, * gnu/classpath/jdwp/event/SingleStepEvent.java, * gnu/classpath/jdwp/event/ThreadEndEvent.java, * gnu/classpath/jdwp/event/VmDeathEvent.java, * gnu/classpath/jdwp/event/VmInitEvent.java, * gnu/classpath/jdwp/event/filters/ClassExcludeFilter.java, * gnu/classpath/jdwp/event/filters/ClassMatchFilter.java, * gnu/classpath/jdwp/event/filters/ClassOnlyFilter.java, * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java, * gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java, * gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.java, * gnu/classpath/jdwp/event/filters/StepFilter.java, * gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java, * gnu/classpath/jdwp/exception/InvalidClassException.java, * gnu/classpath/jdwp/exception/InvalidClassLoaderException.java, * gnu/classpath/jdwp/exception/InvalidEventTypeException.java, * gnu/classpath/jdwp/exception/InvalidFieldException.java, * gnu/classpath/jdwp/exception/InvalidFrameException.java, * gnu/classpath/jdwp/exception/InvalidLocationException.java, * gnu/classpath/jdwp/exception/InvalidMethodException.java, * gnu/classpath/jdwp/exception/InvalidObjectException.java, * gnu/classpath/jdwp/exception/InvalidSlotException.java, * gnu/classpath/jdwp/exception/InvalidStringException.java, * gnu/classpath/jdwp/exception/InvalidThreadException.java, * gnu/classpath/jdwp/exception/InvalidThreadGroupException.java, * gnu/classpath/jdwp/exception/NativeMethodException.java, * gnu/classpath/jdwp/exception/NotImplementedException.java, * gnu/classpath/jdwp/id/JdwpId.java, * gnu/classpath/jdwp/id/NullObjectId.java, * gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java, * gnu/classpath/jdwp/processor/ArrayTypeCommandSet.java, * gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.java, * gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.java, * gnu/classpath/jdwp/processor/ClassTypeCommandSet.java, * gnu/classpath/jdwp/processor/CommandSet.java, * gnu/classpath/jdwp/processor/EventRequestCommandSet.java, * gnu/classpath/jdwp/processor/FieldCommandSet.java, * gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.java, * gnu/classpath/jdwp/processor/MethodCommandSet.java, * gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java, * gnu/classpath/jdwp/processor/PacketProcessor.java, * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java, * gnu/classpath/jdwp/processor/StackFrameCommandSet.java, * gnu/classpath/jdwp/processor/StringReferenceCommandSet.java, * gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java, * gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java, * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java, * gnu/classpath/jdwp/transport/JdwpCommandPacket.java, * gnu/classpath/jdwp/transport/JdwpConnection.java, * gnu/classpath/jdwp/transport/JdwpPacket.java, * gnu/classpath/jdwp/transport/JdwpReplyPacket.java, * gnu/classpath/jdwp/transport/SocketTransport.java, * gnu/classpath/jdwp/transport/TransportFactory.java, * gnu/classpath/jdwp/util/JdwpString.java, * gnu/classpath/jdwp/util/LineTable.java, * gnu/classpath/jdwp/util/Location.java, * gnu/classpath/jdwp/util/MethodResult.java, * gnu/classpath/jdwp/util/MonitorInfo.java, * gnu/classpath/jdwp/util/Signature.java, * gnu/classpath/jdwp/util/VariableTable.java, * gnu/classpath/jdwp/value/ArrayValue.java, * gnu/classpath/jdwp/value/BooleanValue.java, * gnu/classpath/jdwp/value/ByteValue.java, * gnu/classpath/jdwp/value/CharValue.java, * gnu/classpath/jdwp/value/DoubleValue.java, * gnu/classpath/jdwp/value/FloatValue.java, * gnu/classpath/jdwp/value/IntValue.java, * gnu/classpath/jdwp/value/LongValue.java, * gnu/classpath/jdwp/value/ObjectValue.java, * gnu/classpath/jdwp/value/ShortValue.java, * gnu/classpath/jdwp/value/StringValue.java, * gnu/classpath/jdwp/value/Value.java, * gnu/classpath/jdwp/value/ValueFactory.java, * gnu/classpath/jdwp/value/VoidValue.java, * gnu/classpath/toolkit/DefaultDaemonThreadFactory.java, * gnu/java/awt/AWTUtilities.java, * gnu/java/awt/BitMaskExtent.java, * gnu/java/awt/BitwiseXORComposite.java, * gnu/java/awt/Buffers.java, * gnu/java/awt/ClasspathGraphicsEnvironment.java, * gnu/java/awt/ClasspathToolkit.java, * gnu/java/awt/ComponentDataBlitOp.java, * gnu/java/awt/EmbeddedWindow.java, * gnu/java/awt/GradientPaintContext.java, * gnu/java/awt/color/CieXyzConverter.java, * gnu/java/awt/color/ClutProfileConverter.java, * gnu/java/awt/color/ColorLookUpTable.java, * gnu/java/awt/color/GrayProfileConverter.java, * gnu/java/awt/color/GrayScaleConverter.java, * gnu/java/awt/color/LinearRGBConverter.java, * gnu/java/awt/color/ProfileHeader.java, * gnu/java/awt/color/RgbProfileConverter.java, * gnu/java/awt/color/SrgbConverter.java, * gnu/java/awt/color/ToneReproductionCurve.java, * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java, * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java, * gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java, * gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.java, * gnu/java/awt/font/FontDelegate.java, * gnu/java/awt/font/FontFactory.java, * gnu/java/awt/font/GNUGlyphVector.java, * gnu/java/awt/font/OpenTypeFontPeer.java, * gnu/java/awt/font/autofit/GlyphHints.java, * gnu/java/awt/font/autofit/Latin.java, * gnu/java/awt/font/autofit/Utils.java, * gnu/java/awt/font/opentype/CharGlyphMap.java, * gnu/java/awt/font/opentype/GlyphNamer.java, * gnu/java/awt/font/opentype/MacResourceFork.java, * gnu/java/awt/font/opentype/NameDecoder.java, * gnu/java/awt/font/opentype/OpenTypeFont.java, * gnu/java/awt/font/opentype/OpenTypeFontFactory.java, * gnu/java/awt/font/opentype/truetype/GlyphLoader.java, * gnu/java/awt/font/opentype/truetype/GlyphLocator.java, * gnu/java/awt/font/opentype/truetype/GlyphMeasurer.java, * gnu/java/awt/font/opentype/truetype/Point.java, * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java, * gnu/java/awt/font/opentype/truetype/VirtualMachine.java, * gnu/java/awt/font/opentype/truetype/Zone.java, * gnu/java/awt/font/opentype/truetype/ZonePathIterator.java, * gnu/java/awt/image/AsyncImage.java, * gnu/java/awt/image/ImageConverter.java, * gnu/java/awt/image/ImageDecoder.java, * gnu/java/awt/image/XBMDecoder.java, * gnu/java/awt/java2d/AbstractGraphics2D.java, * gnu/java/awt/java2d/AlphaCompositeContext.java, * gnu/java/awt/java2d/CubicSegment.java, * gnu/java/awt/java2d/LineSegment.java, * gnu/java/awt/java2d/PixelCoverage.java, * gnu/java/awt/java2d/QuadSegment.java, * gnu/java/awt/java2d/RasterGraphics.java, * gnu/java/awt/java2d/ScanlineConverter.java, * gnu/java/awt/java2d/ScanlineCoverage.java, * gnu/java/awt/java2d/Segment.java, * gnu/java/awt/java2d/TexturePaintContext.java, * gnu/java/awt/peer/ClasspathDesktopPeer.java, * gnu/java/awt/peer/ClasspathFontPeer.java, * gnu/java/awt/peer/GLightweightPeer.java, * gnu/java/awt/peer/GnomeDesktopPeer.java, * gnu/java/awt/peer/KDEDesktopPeer.java, * gnu/java/awt/peer/gtk/AsyncImage.java, * gnu/java/awt/peer/gtk/BufferedImageGraphics.java, * gnu/java/awt/peer/gtk/CairoGraphics2D.java, * gnu/java/awt/peer/gtk/CairoSurface.java, * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java, * gnu/java/awt/peer/gtk/ComponentGraphics.java, * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java, * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java, * gnu/java/awt/peer/gtk/GdkFontPeer.java, * gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java, * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java, * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java, * gnu/java/awt/peer/gtk/GdkRobotPeer.java, * gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java, * gnu/java/awt/peer/gtk/GtkButtonPeer.java, * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java, * gnu/java/awt/peer/gtk/GtkChoicePeer.java, * gnu/java/awt/peer/gtk/GtkClipboard.java, * gnu/java/awt/peer/gtk/GtkComponentPeer.java, * gnu/java/awt/peer/gtk/GtkContainerPeer.java, * gnu/java/awt/peer/gtk/GtkCursor.java, * gnu/java/awt/peer/gtk/GtkDialogPeer.java, * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java, * gnu/java/awt/peer/gtk/GtkFramePeer.java, * gnu/java/awt/peer/gtk/GtkGenericPeer.java, * gnu/java/awt/peer/gtk/GtkImage.java, * gnu/java/awt/peer/gtk/GtkImageConsumer.java, * gnu/java/awt/peer/gtk/GtkLabelPeer.java, * gnu/java/awt/peer/gtk/GtkListPeer.java, * gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java, * gnu/java/awt/peer/gtk/GtkMenuPeer.java, * gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java, * gnu/java/awt/peer/gtk/GtkPanelPeer.java, * gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java, * gnu/java/awt/peer/gtk/GtkScrollbarPeer.java, * gnu/java/awt/peer/gtk/GtkSelection.java, * gnu/java/awt/peer/gtk/GtkToolkit.java, * gnu/java/awt/peer/gtk/GtkVolatileImage.java, * gnu/java/awt/peer/gtk/GtkWindowPeer.java, * gnu/java/awt/peer/gtk/VolatileImageGraphics.java, * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java, * gnu/java/awt/peer/qt/MainQtThread.java, * gnu/java/awt/peer/qt/QMatrix.java, * gnu/java/awt/peer/qt/QPainterPath.java, * gnu/java/awt/peer/qt/QPen.java, * gnu/java/awt/peer/qt/QtAudioClip.java, * gnu/java/awt/peer/qt/QtButtonPeer.java, * gnu/java/awt/peer/qt/QtCheckboxPeer.java, * gnu/java/awt/peer/qt/QtChoicePeer.java, * gnu/java/awt/peer/qt/QtComponentGraphics.java, * gnu/java/awt/peer/qt/QtComponentPeer.java, * gnu/java/awt/peer/qt/QtContainerPeer.java, * gnu/java/awt/peer/qt/QtDialogPeer.java, * gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.java, * gnu/java/awt/peer/qt/QtFileDialogPeer.java, * gnu/java/awt/peer/qt/QtFontMetrics.java, * gnu/java/awt/peer/qt/QtFontPeer.java, * gnu/java/awt/peer/qt/QtFramePeer.java, * gnu/java/awt/peer/qt/QtGraphics.java, * gnu/java/awt/peer/qt/QtGraphicsEnvironment.java, * gnu/java/awt/peer/qt/QtImage.java, * gnu/java/awt/peer/qt/QtImageConsumer.java, * gnu/java/awt/peer/qt/QtImageDirectGraphics.java, * gnu/java/awt/peer/qt/QtImageGraphics.java, * gnu/java/awt/peer/qt/QtLabelPeer.java, * gnu/java/awt/peer/qt/QtListPeer.java, * gnu/java/awt/peer/qt/QtMenuBarPeer.java, * gnu/java/awt/peer/qt/QtMenuComponentPeer.java, * gnu/java/awt/peer/qt/QtMenuItemPeer.java, * gnu/java/awt/peer/qt/QtMenuPeer.java, * gnu/java/awt/peer/qt/QtPanelPeer.java, * gnu/java/awt/peer/qt/QtPopupMenuPeer.java, * gnu/java/awt/peer/qt/QtRepaintThread.java, * gnu/java/awt/peer/qt/QtScreenDevice.java, * gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.java, * gnu/java/awt/peer/qt/QtScrollPanePeer.java, * gnu/java/awt/peer/qt/QtScrollbarPeer.java, * gnu/java/awt/peer/qt/QtTextAreaPeer.java, * gnu/java/awt/peer/qt/QtTextFieldPeer.java, * gnu/java/awt/peer/qt/QtToolkit.java, * gnu/java/awt/peer/qt/QtVolatileImage.java, * gnu/java/awt/peer/qt/QtWindowPeer.java, * gnu/java/awt/peer/swing/SwingButtonPeer.java, * gnu/java/awt/peer/swing/SwingCheckboxPeer.java, * gnu/java/awt/peer/swing/SwingComponent.java, * gnu/java/awt/peer/swing/SwingComponentPeer.java, * gnu/java/awt/peer/swing/SwingContainerPeer.java, * gnu/java/awt/peer/swing/SwingLabelPeer.java, * gnu/java/awt/peer/swing/SwingListPeer.java, * gnu/java/awt/peer/swing/SwingMenuItemPeer.java, * gnu/java/awt/peer/swing/SwingMenuPeer.java, * gnu/java/awt/peer/swing/SwingTextAreaPeer.java, * gnu/java/awt/peer/swing/SwingTextFieldPeer.java, * gnu/java/awt/peer/x/GLGraphics.java, * gnu/java/awt/peer/x/KeyboardMapping.java, * gnu/java/awt/peer/x/XEventPump.java, * gnu/java/awt/peer/x/XFontPeer.java, * gnu/java/awt/peer/x/XFramePeer.java, * gnu/java/awt/peer/x/XGraphics2D.java, * gnu/java/awt/peer/x/XGraphicsConfiguration.java, * gnu/java/awt/peer/x/XGraphicsDevice.java, * gnu/java/awt/peer/x/XGraphicsEnvironment.java, * gnu/java/awt/peer/x/XImage.java, * gnu/java/awt/peer/x/XToolkit.java, * gnu/java/awt/peer/x/XWindowPeer.java, * gnu/java/awt/print/JavaPrinterGraphics.java, * gnu/java/awt/print/JavaPrinterJob.java, * gnu/java/awt/print/PostScriptGraphics2D.java, * gnu/java/awt/print/SpooledDocument.java, * gnu/java/beans/BeanInfoEmbryo.java, * gnu/java/beans/DefaultExceptionListener.java, * gnu/java/beans/ExplicitBeanInfo.java, * gnu/java/beans/IntrospectionIncubator.java, * gnu/java/beans/decoder/AbstractContext.java, * gnu/java/beans/decoder/AbstractCreatableObjectContext.java, * gnu/java/beans/decoder/AbstractElementHandler.java, * gnu/java/beans/decoder/AbstractObjectContext.java, * gnu/java/beans/decoder/ArrayContext.java, * gnu/java/beans/decoder/ArrayHandler.java, * gnu/java/beans/decoder/AssemblyException.java, * gnu/java/beans/decoder/BooleanHandler.java, * gnu/java/beans/decoder/ByteHandler.java, * gnu/java/beans/decoder/CharHandler.java, * gnu/java/beans/decoder/ClassHandler.java, * gnu/java/beans/decoder/ConstructorContext.java, * gnu/java/beans/decoder/Context.java, * gnu/java/beans/decoder/DecoderContext.java, * gnu/java/beans/decoder/DoubleHandler.java, * gnu/java/beans/decoder/DummyContext.java, * gnu/java/beans/decoder/DummyHandler.java, * gnu/java/beans/decoder/ElementHandler.java, * gnu/java/beans/decoder/FloatHandler.java, * gnu/java/beans/decoder/GrowableArrayContext.java, * gnu/java/beans/decoder/IndexContext.java, * gnu/java/beans/decoder/IntHandler.java, * gnu/java/beans/decoder/JavaHandler.java, * gnu/java/beans/decoder/LongHandler.java, * gnu/java/beans/decoder/MethodContext.java, * gnu/java/beans/decoder/MethodFinder.java, * gnu/java/beans/decoder/NullHandler.java, * gnu/java/beans/decoder/ObjectContext.java, * gnu/java/beans/decoder/ObjectHandler.java, * gnu/java/beans/decoder/PersistenceParser.java, * gnu/java/beans/decoder/PropertyContext.java, * gnu/java/beans/decoder/ShortHandler.java, * gnu/java/beans/decoder/SimpleHandler.java, * gnu/java/beans/decoder/StaticMethodContext.java, * gnu/java/beans/decoder/StringHandler.java, * gnu/java/beans/decoder/VoidHandler.java, * gnu/java/beans/editors/ColorEditor.java, * gnu/java/beans/editors/FontEditor.java, * gnu/java/beans/editors/NativeBooleanEditor.java, * gnu/java/beans/editors/NativeByteEditor.java, * gnu/java/beans/editors/NativeDoubleEditor.java, * gnu/java/beans/editors/NativeFloatEditor.java, * gnu/java/beans/editors/NativeIntEditor.java, * gnu/java/beans/editors/NativeLongEditor.java, * gnu/java/beans/editors/NativeShortEditor.java, * gnu/java/beans/editors/StringEditor.java, * gnu/java/beans/encoder/ArrayPersistenceDelegate.java, * gnu/java/beans/encoder/ClassPersistenceDelegate.java, * gnu/java/beans/encoder/CollectionPersistenceDelegate.java, * gnu/java/beans/encoder/Context.java, * gnu/java/beans/encoder/GenericScannerState.java, * gnu/java/beans/encoder/IgnoringScannerState.java, * gnu/java/beans/encoder/MapPersistenceDelegate.java, * gnu/java/beans/encoder/ObjectId.java, * gnu/java/beans/encoder/PrimitivePersistenceDelegate.java, * gnu/java/beans/encoder/ReportingScannerState.java, * gnu/java/beans/encoder/Root.java, * gnu/java/beans/encoder/ScanEngine.java, * gnu/java/beans/encoder/ScannerState.java, * gnu/java/beans/encoder/StAXWriter.java, * gnu/java/beans/encoder/Writer.java, * gnu/java/beans/encoder/elements/ArrayInstantiation.java, * gnu/java/beans/encoder/elements/Array_Get.java, * gnu/java/beans/encoder/elements/ClassResolution.java, * gnu/java/beans/encoder/elements/Element.java, * gnu/java/beans/encoder/elements/List_Get.java, * gnu/java/beans/encoder/elements/List_Set.java, * gnu/java/beans/encoder/elements/MethodInvocation.java, * gnu/java/beans/encoder/elements/NullObject.java, * gnu/java/beans/encoder/elements/ObjectInstantiation.java, * gnu/java/beans/encoder/elements/ObjectReference.java, * gnu/java/beans/encoder/elements/PrimitiveInstantiation.java, * gnu/java/beans/encoder/elements/StaticFieldAccess.java, * gnu/java/beans/encoder/elements/StaticMethodInvocation.java, * gnu/java/beans/encoder/elements/StringReference.java, * gnu/java/io/ASN1ParsingException.java, * gnu/java/io/Base64InputStream.java, * gnu/java/io/ClassLoaderObjectInputStream.java, * gnu/java/io/NullOutputStream.java, * gnu/java/io/ObjectIdentityMap2Int.java, * gnu/java/io/ObjectIdentityWrapper.java, * gnu/java/io/PlatformHelper.java, * gnu/java/lang/CPStringBuilder.java, * gnu/java/lang/CharData.java, * gnu/java/lang/InstrumentationImpl.java, * gnu/java/lang/MainThread.java, * gnu/java/lang/management/BeanImpl.java, * gnu/java/lang/management/ClassLoadingMXBeanImpl.java, * gnu/java/lang/management/CompilationMXBeanImpl.java, * gnu/java/lang/management/GarbageCollectorMXBeanImpl.java, * gnu/java/lang/management/MemoryMXBeanImpl.java, * gnu/java/lang/management/MemoryManagerMXBeanImpl.java, * gnu/java/lang/management/MemoryPoolMXBeanImpl.java, * gnu/java/lang/management/OperatingSystemMXBeanImpl.java, * gnu/java/lang/management/RuntimeMXBeanImpl.java, * gnu/java/lang/management/ThreadMXBeanImpl.java, * gnu/java/lang/reflect/TypeSignature.java, * gnu/java/locale/LocaleHelper.java, * gnu/java/math/Fixed.java, * gnu/java/math/GMP.java, * gnu/java/math/MPN.java, * gnu/java/net/CRLFInputStream.java, * gnu/java/net/CRLFOutputStream.java, * gnu/java/net/DefaultContentHandlerFactory.java, * gnu/java/net/DefaultProxySelector.java, * gnu/java/net/EmptyX509TrustManager.java, * gnu/java/net/GetLocalHostAction.java, * gnu/java/net/HeaderFieldHelper.java, * gnu/java/net/IndexListParser.java, * gnu/java/net/LineInputStream.java, * gnu/java/net/PlainDatagramSocketImpl.java, * gnu/java/net/PlainSocketImpl.java, * gnu/java/net/loader/FileResource.java, * gnu/java/net/loader/FileURLLoader.java, * gnu/java/net/loader/JarURLLoader.java, * gnu/java/net/loader/JarURLResource.java, * gnu/java/net/loader/RemoteResource.java, * gnu/java/net/loader/RemoteURLLoader.java, * gnu/java/net/loader/Resource.java, * gnu/java/net/loader/URLLoader.java, * gnu/java/net/protocol/file/Connection.java, * gnu/java/net/protocol/file/Handler.java, * gnu/java/net/protocol/ftp/ActiveModeDTP.java, * gnu/java/net/protocol/ftp/BlockInputStream.java, * gnu/java/net/protocol/ftp/BlockOutputStream.java, * gnu/java/net/protocol/ftp/CompressedInputStream.java, * gnu/java/net/protocol/ftp/CompressedOutputStream.java, * gnu/java/net/protocol/ftp/DTP.java, * gnu/java/net/protocol/ftp/DTPInputStream.java, * gnu/java/net/protocol/ftp/DTPOutputStream.java, * gnu/java/net/protocol/ftp/FTPConnection.java, * gnu/java/net/protocol/ftp/FTPException.java, * gnu/java/net/protocol/ftp/FTPResponse.java, * gnu/java/net/protocol/ftp/FTPURLConnection.java, * gnu/java/net/protocol/ftp/Handler.java, * gnu/java/net/protocol/ftp/PassiveModeDTP.java, * gnu/java/net/protocol/ftp/StreamInputStream.java, * gnu/java/net/protocol/ftp/StreamOutputStream.java, * gnu/java/net/protocol/http/Authenticator.java, * gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.java, * gnu/java/net/protocol/http/ChunkedInputStream.java, * gnu/java/net/protocol/http/Cookie.java, * gnu/java/net/protocol/http/CookieManager.java, * gnu/java/net/protocol/http/Credentials.java, * gnu/java/net/protocol/http/HTTPConnection.java, * gnu/java/net/protocol/http/HTTPDateFormat.java, * gnu/java/net/protocol/http/HTTPURLConnection.java, * gnu/java/net/protocol/http/Handler.java, * gnu/java/net/protocol/http/Headers.java, * gnu/java/net/protocol/http/Request.java, * gnu/java/net/protocol/http/RequestBodyWriter.java, * gnu/java/net/protocol/http/Response.java, * gnu/java/net/protocol/http/ResponseHeaderHandler.java, * gnu/java/net/protocol/http/SimpleCookieManager.java, * gnu/java/net/protocol/https/Handler.java, * gnu/java/net/protocol/jar/Connection.java, * gnu/java/net/protocol/jar/Handler.java, * gnu/java/nio/ChannelInputStream.java, * gnu/java/nio/ChannelOutputStream.java, * gnu/java/nio/ChannelReader.java, * gnu/java/nio/ChannelWriter.java, * gnu/java/nio/DatagramChannelImpl.java, * gnu/java/nio/DatagramChannelSelectionKey.java, * gnu/java/nio/EpollSelectionKeyImpl.java, * gnu/java/nio/EpollSelectorImpl.java, * gnu/java/nio/FileChannelImpl.java, * gnu/java/nio/FileLockImpl.java, * gnu/java/nio/InputStreamChannel.java, * gnu/java/nio/KqueueSelectionKeyImpl.java, * gnu/java/nio/KqueueSelectorImpl.java, * gnu/java/nio/NIODatagramSocket.java, * gnu/java/nio/NIOServerSocket.java, * gnu/java/nio/NIOSocket.java, * gnu/java/nio/NIOSocketImpl.java, * gnu/java/nio/OutputStreamChannel.java, * gnu/java/nio/PipeImpl.java, * gnu/java/nio/SelectionKeyImpl.java, * gnu/java/nio/SelectorImpl.java, * gnu/java/nio/SelectorProviderImpl.java, * gnu/java/nio/ServerSocketChannelImpl.java, * gnu/java/nio/ServerSocketChannelSelectionKey.java, * gnu/java/nio/SocketChannelImpl.java, * gnu/java/nio/SocketChannelSelectionKey.java, * gnu/java/nio/SocketChannelSelectionKeyImpl.java, * gnu/java/nio/VMChannelOwner.java, * gnu/java/nio/charset/ByteCharset.java, * gnu/java/nio/charset/ByteDecodeLoopHelper.java, * gnu/java/nio/charset/ByteEncodeLoopHelper.java, * gnu/java/nio/charset/Cp424.java, * gnu/java/nio/charset/Cp437.java, * gnu/java/nio/charset/Cp737.java, * gnu/java/nio/charset/Cp775.java, * gnu/java/nio/charset/Cp850.java, * gnu/java/nio/charset/Cp852.java, * gnu/java/nio/charset/Cp855.java, * gnu/java/nio/charset/Cp857.java, * gnu/java/nio/charset/Cp860.java, * gnu/java/nio/charset/Cp861.java, * gnu/java/nio/charset/Cp862.java, * gnu/java/nio/charset/Cp863.java, * gnu/java/nio/charset/Cp864.java, * gnu/java/nio/charset/Cp865.java, * gnu/java/nio/charset/Cp866.java, * gnu/java/nio/charset/Cp869.java, * gnu/java/nio/charset/Cp874.java, * gnu/java/nio/charset/EncodingHelper.java, * gnu/java/nio/charset/ISO_8859_1.java, * gnu/java/nio/charset/ISO_8859_13.java, * gnu/java/nio/charset/ISO_8859_15.java, * gnu/java/nio/charset/ISO_8859_2.java, * gnu/java/nio/charset/ISO_8859_3.java, * gnu/java/nio/charset/ISO_8859_4.java, * gnu/java/nio/charset/ISO_8859_5.java, * gnu/java/nio/charset/ISO_8859_6.java, * gnu/java/nio/charset/ISO_8859_7.java, * gnu/java/nio/charset/ISO_8859_8.java, * gnu/java/nio/charset/ISO_8859_9.java, * gnu/java/nio/charset/KOI_8.java, * gnu/java/nio/charset/MS874.java, * gnu/java/nio/charset/MacCentralEurope.java, * gnu/java/nio/charset/MacCroatian.java, * gnu/java/nio/charset/MacCyrillic.java, * gnu/java/nio/charset/MacDingbat.java, * gnu/java/nio/charset/MacGreek.java, * gnu/java/nio/charset/MacIceland.java, * gnu/java/nio/charset/MacRoman.java, * gnu/java/nio/charset/MacRomania.java, * gnu/java/nio/charset/MacSymbol.java, * gnu/java/nio/charset/MacThai.java, * gnu/java/nio/charset/MacTurkish.java, * gnu/java/nio/charset/Provider.java, * gnu/java/nio/charset/US_ASCII.java, * gnu/java/nio/charset/UTF_16.java, * gnu/java/nio/charset/UTF_16BE.java, * gnu/java/nio/charset/UTF_16Decoder.java, * gnu/java/nio/charset/UTF_16Encoder.java, * gnu/java/nio/charset/UTF_16LE.java, * gnu/java/nio/charset/UTF_8.java, * gnu/java/nio/charset/UnicodeLittle.java, * gnu/java/nio/charset/Windows1250.java, * gnu/java/nio/charset/Windows1251.java, * gnu/java/nio/charset/Windows1252.java, * gnu/java/nio/charset/Windows1253.java, * gnu/java/nio/charset/Windows1254.java, * gnu/java/nio/charset/Windows1255.java, * gnu/java/nio/charset/Windows1256.java, * gnu/java/nio/charset/Windows1257.java, * gnu/java/nio/charset/Windows1258.java, * gnu/java/nio/charset/iconv/IconvCharset.java, * gnu/java/nio/charset/iconv/IconvDecoder.java, * gnu/java/nio/charset/iconv/IconvEncoder.java, * gnu/java/nio/charset/iconv/IconvProvider.java, * gnu/java/rmi/RMIMarshalledObjectInputStream.java, * gnu/java/rmi/RMIMarshalledObjectOutputStream.java, * gnu/java/rmi/activation/ActivationSystemTransient.java, * gnu/java/rmi/activation/BidiTable.java, * gnu/java/rmi/activation/DefaultActivationGroup.java, * gnu/java/rmi/activation/DefaultActivationSystem.java, * gnu/java/rmi/dgc/DGCImpl.java, * gnu/java/rmi/dgc/DGCImpl_Skel.java, * gnu/java/rmi/dgc/DGCImpl_Stub.java, * gnu/java/rmi/dgc/LeaseRenewingTask.java, * gnu/java/rmi/registry/RegistryImpl.java, * gnu/java/rmi/registry/RegistryImpl_Skel.java, * gnu/java/rmi/registry/RegistryImpl_Stub.java, * gnu/java/rmi/server/ActivatableRef.java, * gnu/java/rmi/server/ActivatableServerRef.java, * gnu/java/rmi/server/CombinedClassLoader.java, * gnu/java/rmi/server/ConnectionRunnerPool.java, * gnu/java/rmi/server/ProtocolConstants.java, * gnu/java/rmi/server/RMIClassLoaderImpl.java, * gnu/java/rmi/server/RMIDefaultSocketFactory.java, * gnu/java/rmi/server/RMIHashes.java, * gnu/java/rmi/server/RMIIncomingThread.java, * gnu/java/rmi/server/RMIObjectInputStream.java, * gnu/java/rmi/server/RMIObjectOutputStream.java, * gnu/java/rmi/server/UnicastConnection.java, * gnu/java/rmi/server/UnicastConnectionManager.java, * gnu/java/rmi/server/UnicastRef.java, * gnu/java/rmi/server/UnicastRemoteCall.java, * gnu/java/rmi/server/UnicastRemoteStub.java, * gnu/java/rmi/server/UnicastServer.java, * gnu/java/rmi/server/UnicastServerRef.java, * gnu/java/security/Engine.java, * gnu/java/security/OID.java, * gnu/java/security/PolicyFile.java, * gnu/java/security/Properties.java, * gnu/java/security/Registry.java, * gnu/java/security/Requires.java, * gnu/java/security/action/GetPropertyAction.java, * gnu/java/security/action/SetAccessibleAction.java, * gnu/java/security/der/DERValue.java, * gnu/java/security/hash/BaseHash.java, * gnu/java/security/hash/HashFactory.java, * gnu/java/security/hash/Haval.java, * gnu/java/security/hash/IMessageDigest.java, * gnu/java/security/hash/MD2.java, * gnu/java/security/hash/MD4.java, * gnu/java/security/hash/MD5.java, * gnu/java/security/hash/RipeMD128.java, * gnu/java/security/hash/RipeMD160.java, * gnu/java/security/hash/Sha160.java, * gnu/java/security/hash/Sha256.java, * gnu/java/security/hash/Sha384.java, * gnu/java/security/hash/Sha512.java, * gnu/java/security/hash/Tiger.java, * gnu/java/security/hash/Whirlpool.java, * gnu/java/security/jce/hash/HavalSpi.java, * gnu/java/security/jce/hash/MD2Spi.java, * gnu/java/security/jce/hash/MD4Spi.java, * gnu/java/security/jce/hash/MD5Spi.java, * gnu/java/security/jce/hash/MessageDigestAdapter.java, * gnu/java/security/jce/hash/RipeMD128Spi.java, * gnu/java/security/jce/hash/RipeMD160Spi.java, * gnu/java/security/jce/hash/Sha160Spi.java, * gnu/java/security/jce/hash/Sha256Spi.java, * gnu/java/security/jce/hash/Sha384Spi.java, * gnu/java/security/jce/hash/Sha512Spi.java, * gnu/java/security/jce/hash/TigerSpi.java, * gnu/java/security/jce/hash/WhirlpoolSpi.java, * gnu/java/security/jce/prng/HavalRandomSpi.java, * gnu/java/security/jce/prng/MD2RandomSpi.java, * gnu/java/security/jce/prng/MD4RandomSpi.java, * gnu/java/security/jce/prng/MD5RandomSpi.java, * gnu/java/security/jce/prng/RipeMD128RandomSpi.java, * gnu/java/security/jce/prng/RipeMD160RandomSpi.java, * gnu/java/security/jce/prng/SecureRandomAdapter.java, * gnu/java/security/jce/prng/Sha160RandomSpi.java, * gnu/java/security/jce/prng/Sha256RandomSpi.java, * gnu/java/security/jce/prng/Sha384RandomSpi.java, * gnu/java/security/jce/prng/Sha512RandomSpi.java, * gnu/java/security/jce/prng/TigerRandomSpi.java, * gnu/java/security/jce/prng/WhirlpoolRandomSpi.java, * gnu/java/security/jce/sig/DSSKeyFactory.java, * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java, * gnu/java/security/jce/sig/DSSParameters.java, * gnu/java/security/jce/sig/DSSRawSignatureSpi.java, * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java, * gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java, * gnu/java/security/jce/sig/SignatureAdapter.java, * gnu/java/security/key/IKeyPairCodec.java, * gnu/java/security/key/IKeyPairGenerator.java, * gnu/java/security/key/KeyPairCodecFactory.java, * gnu/java/security/key/KeyPairGeneratorFactory.java, * gnu/java/security/key/dss/DSSKey.java, * gnu/java/security/key/dss/DSSKeyPairGenerator.java, * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java, * gnu/java/security/key/dss/DSSKeyPairRawCodec.java, * gnu/java/security/key/dss/DSSKeyPairX509Codec.java, * gnu/java/security/key/dss/DSSPrivateKey.java, * gnu/java/security/key/dss/DSSPublicKey.java, * gnu/java/security/key/dss/FIPS186.java, * gnu/java/security/key/rsa/GnuRSAKey.java, * gnu/java/security/key/rsa/GnuRSAPrivateKey.java, * gnu/java/security/key/rsa/GnuRSAPublicKey.java, * gnu/java/security/key/rsa/RSAKeyPairGenerator.java, * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java, * gnu/java/security/key/rsa/RSAKeyPairRawCodec.java, * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java, * gnu/java/security/pkcs/PKCS7Data.java, * gnu/java/security/pkcs/PKCS7SignedData.java, * gnu/java/security/pkcs/SignerInfo.java, * gnu/java/security/prng/BasePRNG.java, * gnu/java/security/prng/EntropySource.java, * gnu/java/security/prng/IRandom.java, * gnu/java/security/prng/LimitReachedException.java, * gnu/java/security/prng/MDGenerator.java, * gnu/java/security/prng/PRNGFactory.java, * gnu/java/security/prng/RandomEventListener.java, * gnu/java/security/provider/DefaultPolicy.java, * gnu/java/security/provider/PKIXCertPathValidatorImpl.java, * gnu/java/security/sig/BaseSignature.java, * gnu/java/security/sig/ISignature.java, * gnu/java/security/sig/ISignatureCodec.java, * gnu/java/security/sig/SignatureCodecFactory.java, * gnu/java/security/sig/SignatureFactory.java, * gnu/java/security/sig/dss/DSSSignature.java, * gnu/java/security/sig/dss/DSSSignatureRawCodec.java, * gnu/java/security/sig/dss/DSSSignatureX509Codec.java, * gnu/java/security/sig/rsa/EME_PKCS1_V1_5.java, * gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java, * gnu/java/security/sig/rsa/EMSA_PSS.java, * gnu/java/security/sig/rsa/RSA.java, * gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java, * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.java, * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java, * gnu/java/security/sig/rsa/RSAPSSSignature.java, * gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java, * gnu/java/security/sig/rsa/RSASignatureFactory.java, * gnu/java/security/util/ByteArray.java, * gnu/java/security/util/ByteBufferOutputStream.java, * gnu/java/security/util/ExpirableObject.java, * gnu/java/security/util/FormatUtil.java, * gnu/java/security/util/IntegerUtil.java, * gnu/java/security/util/PRNG.java, * gnu/java/security/util/Prime.java, * gnu/java/security/util/Sequence.java, * gnu/java/security/util/SimpleList.java, * gnu/java/security/util/Util.java, * gnu/java/security/x509/X509CRLSelectorImpl.java, * gnu/java/security/x509/X509CertSelectorImpl.java, * gnu/java/security/x509/ext/CertificatePolicies.java, * gnu/java/security/x509/ext/GeneralName.java, * gnu/java/security/x509/ext/GeneralSubtree.java, * gnu/java/security/x509/ext/NameConstraints.java, * gnu/java/text/AttributedFormatBuffer.java, * gnu/java/text/BaseBreakIterator.java, * gnu/java/text/CharacterBreakIterator.java, * gnu/java/text/FormatBuffer.java, * gnu/java/text/FormatCharacterIterator.java, * gnu/java/text/LineBreakIterator.java, * gnu/java/text/SentenceBreakIterator.java, * gnu/java/text/StringFormatBuffer.java, * gnu/java/text/WordBreakIterator.java, * gnu/java/util/Base64.java, * gnu/java/util/DoubleEnumeration.java, * gnu/java/util/EmptyEnumeration.java, * gnu/java/util/WeakIdentityHashMap.java, * gnu/java/util/ZoneInfo.java, * gnu/java/util/jar/JarUtils.java, * gnu/java/util/prefs/FileBasedFactory.java, * gnu/java/util/prefs/FileBasedPreferences.java, * gnu/java/util/prefs/GConfBasedFactory.java, * gnu/java/util/prefs/GConfBasedPreferences.java, * gnu/java/util/prefs/MemoryBasedFactory.java, * gnu/java/util/prefs/MemoryBasedPreferences.java, * gnu/java/util/prefs/NodeReader.java, * gnu/java/util/prefs/NodeWriter.java, * gnu/java/util/prefs/gconf/GConfNativePeer.java, * gnu/java/util/regex/BacktrackStack.java, * gnu/java/util/regex/CharIndexed.java, * gnu/java/util/regex/CharIndexedInputStream.java, * gnu/java/util/regex/RE.java, * gnu/java/util/regex/REFilterInputStream.java, * gnu/java/util/regex/REMatch.java, * gnu/java/util/regex/REMatchEnumeration.java, * gnu/java/util/regex/RESyntax.java, * gnu/java/util/regex/REToken.java, * gnu/java/util/regex/RETokenAny.java, * gnu/java/util/regex/RETokenBackRef.java, * gnu/java/util/regex/RETokenChar.java, * gnu/java/util/regex/RETokenEnd.java, * gnu/java/util/regex/RETokenEndOfPreviousMatch.java, * gnu/java/util/regex/RETokenIndependent.java, * gnu/java/util/regex/RETokenLookAhead.java, * gnu/java/util/regex/RETokenLookBehind.java, * gnu/java/util/regex/RETokenNamedProperty.java, * gnu/java/util/regex/RETokenOneOf.java, * gnu/java/util/regex/RETokenPOSIX.java, * gnu/java/util/regex/RETokenRange.java, * gnu/java/util/regex/RETokenRepeated.java, * gnu/java/util/regex/RETokenStart.java, * gnu/java/util/regex/RETokenWordBoundary.java, * gnu/java/util/regex/UncheckedRE.java, * gnu/javax/activation/viewers/ImageViewer.java, * gnu/javax/activation/viewers/TextEditor.java, * gnu/javax/activation/viewers/TextViewer.java, * gnu/javax/crypto/assembly/Assembly.java, * gnu/javax/crypto/assembly/Cascade.java, * gnu/javax/crypto/assembly/CascadeStage.java, * gnu/javax/crypto/assembly/CascadeTransformer.java, * gnu/javax/crypto/assembly/DeflateTransformer.java, * gnu/javax/crypto/assembly/Direction.java, * gnu/javax/crypto/assembly/LoopbackTransformer.java, * gnu/javax/crypto/assembly/ModeStage.java, * gnu/javax/crypto/assembly/Operation.java, * gnu/javax/crypto/assembly/PaddingTransformer.java, * gnu/javax/crypto/assembly/Stage.java, * gnu/javax/crypto/assembly/Transformer.java, * gnu/javax/crypto/assembly/TransformerException.java, * gnu/javax/crypto/cipher/Anubis.java, * gnu/javax/crypto/cipher/BaseCipher.java, * gnu/javax/crypto/cipher/Blowfish.java, * gnu/javax/crypto/cipher/Cast5.java, * gnu/javax/crypto/cipher/CipherFactory.java, * gnu/javax/crypto/cipher/DES.java, * gnu/javax/crypto/cipher/IBlockCipher.java, * gnu/javax/crypto/cipher/IBlockCipherSpi.java, * gnu/javax/crypto/cipher/Khazad.java, * gnu/javax/crypto/cipher/NullCipher.java, * gnu/javax/crypto/cipher/Rijndael.java, * gnu/javax/crypto/cipher/Serpent.java, * gnu/javax/crypto/cipher/Square.java, * gnu/javax/crypto/cipher/TripleDES.java, * gnu/javax/crypto/cipher/Twofish.java, * gnu/javax/crypto/cipher/WeakKeyException.java, * gnu/javax/crypto/jce/DiffieHellmanImpl.java, * gnu/javax/crypto/jce/GnuCrypto.java, * gnu/javax/crypto/jce/GnuSasl.java, * gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.java, * gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.java, * gnu/javax/crypto/jce/cipher/AESSpi.java, * gnu/javax/crypto/jce/cipher/ARCFourSpi.java, * gnu/javax/crypto/jce/cipher/AnubisSpi.java, * gnu/javax/crypto/jce/cipher/BlowfishSpi.java, * gnu/javax/crypto/jce/cipher/Cast5Spi.java, * gnu/javax/crypto/jce/cipher/CipherAdapter.java, * gnu/javax/crypto/jce/cipher/DESSpi.java, * gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.java, * gnu/javax/crypto/jce/cipher/KhazadSpi.java, * gnu/javax/crypto/jce/cipher/NullCipherSpi.java, * gnu/javax/crypto/jce/cipher/PBES2.java, * gnu/javax/crypto/jce/cipher/RijndaelSpi.java, * gnu/javax/crypto/jce/cipher/SerpentSpi.java, * gnu/javax/crypto/jce/cipher/SquareSpi.java, * gnu/javax/crypto/jce/cipher/TripleDESSpi.java, * gnu/javax/crypto/jce/cipher/TwofishSpi.java, * gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.java, * gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.java, * gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.java, * gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java, * gnu/javax/crypto/jce/keyring/GnuKeyring.java, * gnu/javax/crypto/jce/mac/HMacHavalSpi.java, * gnu/javax/crypto/jce/mac/HMacMD2Spi.java, * gnu/javax/crypto/jce/mac/HMacMD4Spi.java, * gnu/javax/crypto/jce/mac/HMacMD5Spi.java, * gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.java, * gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.java, * gnu/javax/crypto/jce/mac/HMacSHA160Spi.java, * gnu/javax/crypto/jce/mac/HMacSHA256Spi.java, * gnu/javax/crypto/jce/mac/HMacSHA384Spi.java, * gnu/javax/crypto/jce/mac/HMacSHA512Spi.java, * gnu/javax/crypto/jce/mac/HMacTigerSpi.java, * gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.java, * gnu/javax/crypto/jce/mac/MacAdapter.java, * gnu/javax/crypto/jce/mac/TMMH16Spi.java, * gnu/javax/crypto/jce/mac/UHash32Spi.java, * gnu/javax/crypto/jce/mac/UMac32Spi.java, * gnu/javax/crypto/jce/params/BlockCipherParameters.java, * gnu/javax/crypto/jce/params/DEREncodingException.java, * gnu/javax/crypto/jce/params/DERReader.java, * gnu/javax/crypto/jce/params/DERWriter.java, * gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java, * gnu/javax/crypto/jce/prng/CSPRNGSpi.java, * gnu/javax/crypto/jce/prng/FortunaImpl.java, * gnu/javax/crypto/jce/prng/ICMRandomSpi.java, * gnu/javax/crypto/jce/prng/UMacRandomSpi.java, * gnu/javax/crypto/jce/sig/DHParameters.java, * gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.java, * gnu/javax/crypto/jce/spec/TMMHParameterSpec.java, * gnu/javax/crypto/jce/spec/UMac32ParameterSpec.java, * gnu/javax/crypto/key/BaseKeyAgreementParty.java, * gnu/javax/crypto/key/GnuPBEKey.java, * gnu/javax/crypto/key/GnuSecretKey.java, * gnu/javax/crypto/key/IKeyAgreementParty.java, * gnu/javax/crypto/key/IncomingMessage.java, * gnu/javax/crypto/key/KeyAgreementException.java, * gnu/javax/crypto/key/KeyAgreementFactory.java, * gnu/javax/crypto/key/OutgoingMessage.java, * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java, * gnu/javax/crypto/key/dh/DHKeyPairRawCodec.java, * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java, * gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.java, * gnu/javax/crypto/key/dh/DiffieHellmanReceiver.java, * gnu/javax/crypto/key/dh/DiffieHellmanSender.java, * gnu/javax/crypto/key/dh/ElGamalKeyAgreement.java, * gnu/javax/crypto/key/dh/ElGamalReceiver.java, * gnu/javax/crypto/key/dh/ElGamalSender.java, * gnu/javax/crypto/key/dh/GnuDHKey.java, * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java, * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java, * gnu/javax/crypto/key/dh/GnuDHPublicKey.java, * gnu/javax/crypto/key/dh/RFC2631.java, * gnu/javax/crypto/key/srp6/SRP6Host.java, * gnu/javax/crypto/key/srp6/SRP6KeyAgreement.java, * gnu/javax/crypto/key/srp6/SRP6SaslClient.java, * gnu/javax/crypto/key/srp6/SRP6SaslServer.java, * gnu/javax/crypto/key/srp6/SRP6TLSClient.java, * gnu/javax/crypto/key/srp6/SRP6TLSServer.java, * gnu/javax/crypto/key/srp6/SRP6User.java, * gnu/javax/crypto/key/srp6/SRPAlgorithm.java, * gnu/javax/crypto/key/srp6/SRPKey.java, * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java, * gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.java, * gnu/javax/crypto/key/srp6/SRPPrivateKey.java, * gnu/javax/crypto/key/srp6/SRPPublicKey.java, * gnu/javax/crypto/keyring/AuthenticatedEntry.java, * gnu/javax/crypto/keyring/BaseKeyring.java, * gnu/javax/crypto/keyring/BinaryDataEntry.java, * gnu/javax/crypto/keyring/CertPathEntry.java, * gnu/javax/crypto/keyring/CertificateEntry.java, * gnu/javax/crypto/keyring/CompressedEntry.java, * gnu/javax/crypto/keyring/EncryptedEntry.java, * gnu/javax/crypto/keyring/Entry.java, * gnu/javax/crypto/keyring/EnvelopeEntry.java, * gnu/javax/crypto/keyring/GnuPrivateKeyring.java, * gnu/javax/crypto/keyring/GnuPublicKeyring.java, * gnu/javax/crypto/keyring/IKeyring.java, * gnu/javax/crypto/keyring/IPrivateKeyring.java, * gnu/javax/crypto/keyring/IPublicKeyring.java, * gnu/javax/crypto/keyring/MalformedKeyringException.java, * gnu/javax/crypto/keyring/MaskableEnvelopeEntry.java, * gnu/javax/crypto/keyring/MeteredInputStream.java, * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java, * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java, * gnu/javax/crypto/keyring/PasswordProtectedEntry.java, * gnu/javax/crypto/keyring/PrimitiveEntry.java, * gnu/javax/crypto/keyring/PrivateKeyEntry.java, * gnu/javax/crypto/keyring/Properties.java, * gnu/javax/crypto/keyring/PublicKeyEntry.java, * gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.java, * gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.java, * gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.java, * gnu/javax/crypto/kwa/TripleDESKeyWrap.java, * gnu/javax/crypto/mac/BaseMac.java, * gnu/javax/crypto/mac/HMac.java, * gnu/javax/crypto/mac/HMacFactory.java, * gnu/javax/crypto/mac/IMac.java, * gnu/javax/crypto/mac/MacFactory.java, * gnu/javax/crypto/mac/MacInputStream.java, * gnu/javax/crypto/mac/MacOutputStream.java, * gnu/javax/crypto/mac/OMAC.java, * gnu/javax/crypto/mac/TMMH16.java, * gnu/javax/crypto/mac/UHash32.java, * gnu/javax/crypto/mac/UMac32.java, * gnu/javax/crypto/mode/BaseMode.java, * gnu/javax/crypto/mode/CBC.java, * gnu/javax/crypto/mode/CFB.java, * gnu/javax/crypto/mode/CTR.java, * gnu/javax/crypto/mode/EAX.java, * gnu/javax/crypto/mode/ECB.java, * gnu/javax/crypto/mode/IAuthenticatedMode.java, * gnu/javax/crypto/mode/ICM.java, * gnu/javax/crypto/mode/IMode.java, * gnu/javax/crypto/mode/ModeFactory.java, * gnu/javax/crypto/mode/OFB.java, * gnu/javax/crypto/pad/BasePad.java, * gnu/javax/crypto/pad/IPad.java, * gnu/javax/crypto/pad/PKCS1_V1_5.java, * gnu/javax/crypto/pad/PKCS7.java, * gnu/javax/crypto/pad/PadFactory.java, * gnu/javax/crypto/pad/TBC.java, * gnu/javax/crypto/pad/WrongPaddingException.java, * gnu/javax/crypto/prng/ARCFour.java, * gnu/javax/crypto/prng/CSPRNG.java, * gnu/javax/crypto/prng/ICMGenerator.java, * gnu/javax/crypto/prng/IPBE.java, * gnu/javax/crypto/prng/PBKDF2.java, * gnu/javax/crypto/prng/PRNGFactory.java, * gnu/javax/crypto/prng/UMacGenerator.java, * gnu/javax/crypto/sasl/AuthInfo.java, * gnu/javax/crypto/sasl/AuthInfoProviderFactory.java, * gnu/javax/crypto/sasl/ClientFactory.java, * gnu/javax/crypto/sasl/ClientMechanism.java, * gnu/javax/crypto/sasl/ConfidentialityException.java, * gnu/javax/crypto/sasl/IAuthInfoProvider.java, * gnu/javax/crypto/sasl/IAuthInfoProviderFactory.java, * gnu/javax/crypto/sasl/IllegalMechanismStateException.java, * gnu/javax/crypto/sasl/InputBuffer.java, * gnu/javax/crypto/sasl/IntegrityException.java, * gnu/javax/crypto/sasl/NoSuchMechanismException.java, * gnu/javax/crypto/sasl/NoSuchUserException.java, * gnu/javax/crypto/sasl/OutputBuffer.java, * gnu/javax/crypto/sasl/SaslEncodingException.java, * gnu/javax/crypto/sasl/SaslInputStream.java, * gnu/javax/crypto/sasl/SaslOutputStream.java, * gnu/javax/crypto/sasl/SaslUtil.java, * gnu/javax/crypto/sasl/ServerFactory.java, * gnu/javax/crypto/sasl/ServerMechanism.java, * gnu/javax/crypto/sasl/UserAlreadyExistsException.java, * gnu/javax/crypto/sasl/anonymous/AnonymousClient.java, * gnu/javax/crypto/sasl/anonymous/AnonymousServer.java, * gnu/javax/crypto/sasl/anonymous/AnonymousUtil.java, * gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.java, * gnu/javax/crypto/sasl/crammd5/CramMD5Client.java, * gnu/javax/crypto/sasl/crammd5/CramMD5Registry.java, * gnu/javax/crypto/sasl/crammd5/CramMD5Server.java, * gnu/javax/crypto/sasl/crammd5/CramMD5Util.java, * gnu/javax/crypto/sasl/crammd5/PasswordFile.java, * gnu/javax/crypto/sasl/plain/PasswordFile.java, * gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.java, * gnu/javax/crypto/sasl/plain/PlainClient.java, * gnu/javax/crypto/sasl/plain/PlainRegistry.java, * gnu/javax/crypto/sasl/plain/PlainServer.java, * gnu/javax/crypto/sasl/srp/CALG.java, * gnu/javax/crypto/sasl/srp/ClientStore.java, * gnu/javax/crypto/sasl/srp/IALG.java, * gnu/javax/crypto/sasl/srp/KDF.java, * gnu/javax/crypto/sasl/srp/PasswordFile.java, * gnu/javax/crypto/sasl/srp/SRP.java, * gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.java, * gnu/javax/crypto/sasl/srp/SRPClient.java, * gnu/javax/crypto/sasl/srp/SRPRegistry.java, * gnu/javax/crypto/sasl/srp/SRPServer.java, * gnu/javax/crypto/sasl/srp/SecurityContext.java, * gnu/javax/crypto/sasl/srp/ServerStore.java, * gnu/javax/crypto/sasl/srp/StoreEntry.java, * gnu/javax/imageio/IIOInputStream.java, * gnu/javax/imageio/bmp/BMPDecoder.java, * gnu/javax/imageio/bmp/BMPEncoder.java, * gnu/javax/imageio/bmp/BMPException.java, * gnu/javax/imageio/bmp/BMPFileHeader.java, * gnu/javax/imageio/bmp/BMPImageReader.java, * gnu/javax/imageio/bmp/BMPImageReaderSpi.java, * gnu/javax/imageio/bmp/BMPImageWriter.java, * gnu/javax/imageio/bmp/BMPImageWriterSpi.java, * gnu/javax/imageio/bmp/BMPInfoHeader.java, * gnu/javax/imageio/bmp/DecodeBF16.java, * gnu/javax/imageio/bmp/DecodeBF32.java, * gnu/javax/imageio/bmp/DecodeRGB1.java, * gnu/javax/imageio/bmp/DecodeRGB24.java, * gnu/javax/imageio/bmp/DecodeRGB4.java, * gnu/javax/imageio/bmp/DecodeRGB8.java, * gnu/javax/imageio/bmp/DecodeRLE4.java, * gnu/javax/imageio/bmp/DecodeRLE8.java, * gnu/javax/imageio/bmp/EncodeRGB1.java, * gnu/javax/imageio/bmp/EncodeRGB16.java, * gnu/javax/imageio/bmp/EncodeRGB24.java, * gnu/javax/imageio/bmp/EncodeRGB32.java, * gnu/javax/imageio/bmp/EncodeRGB4.java, * gnu/javax/imageio/bmp/EncodeRGB8.java, * gnu/javax/imageio/bmp/EncodeRLE4.java, * gnu/javax/imageio/bmp/EncodeRLE8.java, * gnu/javax/imageio/gif/GIFFile.java, * gnu/javax/imageio/gif/GIFImageReader.java, * gnu/javax/imageio/gif/GIFImageReaderSpi.java, * gnu/javax/imageio/jpeg/DCT.java, * gnu/javax/imageio/jpeg/JPEGComponent.java, * gnu/javax/imageio/jpeg/JPEGDecoder.java, * gnu/javax/imageio/jpeg/JPEGImageInputStream.java, * gnu/javax/imageio/jpeg/JPEGImageReader.java, * gnu/javax/imageio/jpeg/JPEGImageReaderSpi.java, * gnu/javax/imageio/jpeg/JPEGMarker.java, * gnu/javax/imageio/jpeg/ZigZag.java, * gnu/javax/imageio/png/PNGChunk.java, * gnu/javax/imageio/png/PNGData.java, * gnu/javax/imageio/png/PNGDecoder.java, * gnu/javax/imageio/png/PNGEncoder.java, * gnu/javax/imageio/png/PNGException.java, * gnu/javax/imageio/png/PNGFile.java, * gnu/javax/imageio/png/PNGFilter.java, * gnu/javax/imageio/png/PNGGamma.java, * gnu/javax/imageio/png/PNGHeader.java, * gnu/javax/imageio/png/PNGICCProfile.java, * gnu/javax/imageio/png/PNGImageReader.java, * gnu/javax/imageio/png/PNGPalette.java, * gnu/javax/imageio/png/PNGPhys.java, * gnu/javax/imageio/png/PNGTime.java, * gnu/javax/management/ListenerData.java, * gnu/javax/management/Server.java, * gnu/javax/management/Translator.java, * gnu/javax/naming/giop/ContextContinuation.java, * gnu/javax/naming/giop/CorbalocParser.java, * gnu/javax/naming/giop/GiopNamingEnumeration.java, * gnu/javax/naming/giop/GiopNamingServiceFactory.java, * gnu/javax/naming/giop/GiopNamingServiceURLContext.java, * gnu/javax/naming/giop/ListBindingsEnumeration.java, * gnu/javax/naming/giop/ListEnumeration.java, * gnu/javax/naming/ictxImpl/trans/GnuName.java, * gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.java, * gnu/javax/naming/jndi/url/rmi/ContextContinuation.java, * gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.java, * gnu/javax/naming/jndi/url/rmi/ListEnumeration.java, * gnu/javax/naming/jndi/url/rmi/RmiContinuation.java, * gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.java, * gnu/javax/naming/jndi/url/rmi/rmiURLContext.java, * gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.java, * gnu/javax/net/ssl/AbstractSessionContext.java, * gnu/javax/net/ssl/PreSharedKeyManager.java, * gnu/javax/net/ssl/PreSharedKeyManagerParameters.java, * gnu/javax/net/ssl/SSLCipherSuite.java, * gnu/javax/net/ssl/SSLRecordHandler.java, * gnu/javax/net/ssl/Session.java, * gnu/javax/net/ssl/SessionStoreException.java, * gnu/javax/net/ssl/provider/AbstractHandshake.java, * gnu/javax/net/ssl/provider/Alert.java, * gnu/javax/net/ssl/provider/AlertException.java, * gnu/javax/net/ssl/provider/Builder.java, * gnu/javax/net/ssl/provider/Certificate.java, * gnu/javax/net/ssl/provider/CertificateBuilder.java, * gnu/javax/net/ssl/provider/CertificateRequest.java, * gnu/javax/net/ssl/provider/CertificateRequestBuilder.java, * gnu/javax/net/ssl/provider/CertificateStatusRequest.java, * gnu/javax/net/ssl/provider/CertificateStatusType.java, * gnu/javax/net/ssl/provider/CertificateURL.java, * gnu/javax/net/ssl/provider/CertificateVerify.java, * gnu/javax/net/ssl/provider/CipherSuite.java, * gnu/javax/net/ssl/provider/CipherSuiteList.java, * gnu/javax/net/ssl/provider/ClientCertificateTypeList.java, * gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java, * gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.java, * gnu/javax/net/ssl/provider/ClientHandshake.java, * gnu/javax/net/ssl/provider/ClientHello.java, * gnu/javax/net/ssl/provider/ClientHelloBuilder.java, * gnu/javax/net/ssl/provider/ClientHelloV2.java, * gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.java, * gnu/javax/net/ssl/provider/ClientPSKParameters.java, * gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java, * gnu/javax/net/ssl/provider/CompressionMethod.java, * gnu/javax/net/ssl/provider/CompressionMethodList.java, * gnu/javax/net/ssl/provider/Constructed.java, * gnu/javax/net/ssl/provider/Debug.java, * gnu/javax/net/ssl/provider/DelegatedTask.java, * gnu/javax/net/ssl/provider/EmptyExchangeKeys.java, * gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java, * gnu/javax/net/ssl/provider/ExchangeKeys.java, * gnu/javax/net/ssl/provider/Extension.java, * gnu/javax/net/ssl/provider/ExtensionList.java, * gnu/javax/net/ssl/provider/Handshake.java, * gnu/javax/net/ssl/provider/InputSecurityParameters.java, * gnu/javax/net/ssl/provider/Jessie.java, * gnu/javax/net/ssl/provider/MaxFragmentLength.java, * gnu/javax/net/ssl/provider/OutputSecurityParameters.java, * gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.java, * gnu/javax/net/ssl/provider/Random.java, * gnu/javax/net/ssl/provider/SSLContextImpl.java, * gnu/javax/net/ssl/provider/SSLEngineImpl.java, * gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java, * gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.java, * gnu/javax/net/ssl/provider/SSLServerSocketImpl.java, * gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java, * gnu/javax/net/ssl/provider/SSLSocketImpl.java, * gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java, * gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java, * gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java, * gnu/javax/net/ssl/provider/ServerDHParams.java, * gnu/javax/net/ssl/provider/ServerHandshake.java, * gnu/javax/net/ssl/provider/ServerHello.java, * gnu/javax/net/ssl/provider/ServerHelloBuilder.java, * gnu/javax/net/ssl/provider/ServerHelloDone.java, * gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.java, * gnu/javax/net/ssl/provider/ServerNameList.java, * gnu/javax/net/ssl/provider/ServerPSKParameters.java, * gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.java, * gnu/javax/net/ssl/provider/SessionImpl.java, * gnu/javax/net/ssl/provider/Signature.java, * gnu/javax/net/ssl/provider/SignatureAlgorithm.java, * gnu/javax/net/ssl/provider/SimpleSessionContext.java, * gnu/javax/net/ssl/provider/TruncatedHMAC.java, * gnu/javax/net/ssl/provider/TrustedAuthorities.java, * gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java, * gnu/javax/net/ssl/provider/Util.java, * gnu/javax/net/ssl/provider/X500PrincipalList.java, * gnu/javax/net/ssl/provider/X509KeyManagerFactory.java, * gnu/javax/net/ssl/provider/X509TrustManagerFactory.java, * gnu/javax/print/ipp/IppRequest.java, * gnu/javax/rmi/CORBA/CorbaInput.java, * gnu/javax/rmi/CORBA/CorbaOutput.java, * gnu/javax/rmi/CORBA/DefaultWriteObjectTester.java, * gnu/javax/rmi/CORBA/DelegateFactory.java, * gnu/javax/rmi/CORBA/GetDelegateInstanceException.java, * gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.java, * gnu/javax/rmi/CORBA/RmiUtilities.java, * gnu/javax/rmi/CORBA/StubDelegateImpl.java, * gnu/javax/rmi/CORBA/TieTargetRecord.java, * gnu/javax/rmi/CORBA/UtilDelegateImpl.java, * gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.java, * gnu/javax/security/auth/callback/AWTCallbackHandler.java, * gnu/javax/security/auth/callback/AbstractCallbackHandler.java, * gnu/javax/security/auth/callback/CertificateCallback.java, * gnu/javax/security/auth/callback/ConsoleCallbackHandler.java, * gnu/javax/security/auth/callback/DefaultCallbackHandler.java, * gnu/javax/security/auth/callback/SwingCallbackHandler.java, * gnu/javax/security/auth/login/ConfigFileParser.java, * gnu/javax/security/auth/login/ConfigFileTokenizer.java, * gnu/javax/security/auth/login/GnuConfiguration.java, * gnu/javax/sound/AudioSecurityManager.java, * gnu/javax/sound/midi/alsa/AlsaInputPortDevice.java, * gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.java, * gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.java, * gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.java, * gnu/javax/sound/midi/alsa/AlsaPortDevice.java, * gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.java, * gnu/javax/sound/midi/dssi/DSSISynthesizer.java, * gnu/javax/sound/midi/file/ExtendedMidiFileFormat.java, * gnu/javax/sound/midi/file/MidiDataInputStream.java, * gnu/javax/sound/midi/file/MidiDataOutputStream.java, * gnu/javax/sound/midi/file/MidiFileReader.java, * gnu/javax/sound/midi/file/MidiFileWriter.java, * gnu/javax/sound/sampled/AU/AUReader.java, * gnu/javax/sound/sampled/WAV/WAVReader.java, * gnu/javax/sound/sampled/gstreamer/GStreamerMixer.java, * gnu/javax/sound/sampled/gstreamer/GStreamerMixerProvider.java, * gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.java, * gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer.java, * gnu/javax/sound/sampled/gstreamer/io/GstInputStream.java, * gnu/javax/sound/sampled/gstreamer/lines/GstDataLine.java, * gnu/javax/sound/sampled/gstreamer/lines/GstNativeDataLine.java, * gnu/javax/sound/sampled/gstreamer/lines/GstPipeline.java, * gnu/javax/sound/sampled/gstreamer/lines/GstSourceDataLine.java, * gnu/javax/swing/plaf/gnu/GNULookAndFeel.java, * gnu/javax/swing/text/html/CharacterAttributeTranslator.java, * gnu/javax/swing/text/html/CombinedAttributes.java, * gnu/javax/swing/text/html/ImageViewIconFactory.java, * gnu/javax/swing/text/html/css/BorderStyle.java, * gnu/javax/swing/text/html/css/CSSParser.java, * gnu/javax/swing/text/html/css/CSSScanner.java, * gnu/javax/swing/text/html/css/Selector.java, * gnu/javax/swing/text/html/parser/GnuParserDelegator.java, * gnu/javax/swing/text/html/parser/HTML_401F.java, * gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.java, * gnu/javax/swing/text/html/parser/htmlAttributeSet.java, * gnu/javax/swing/text/html/parser/htmlValidator.java, * gnu/javax/swing/text/html/parser/models/list.java, * gnu/javax/swing/text/html/parser/support/Parser.java, * gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.java, * gnu/javax/swing/text/html/parser/support/textPreProcessor.java, * gnu/javax/swing/tree/GnuPath.java, * gnu/test/Fail.java, * gnu/test/Pass.java, * gnu/test/Test.java, * gnu/test/Unsupported.java, * gnu/xml/aelfred2/JAXPFactory.java, * gnu/xml/aelfred2/SAXDriver.java, * gnu/xml/aelfred2/XmlParser.java, * gnu/xml/aelfred2/XmlReader.java, * gnu/xml/dom/Consumer.java, * gnu/xml/dom/DTDAttributeTypeInfo.java, * gnu/xml/dom/DTDElementTypeInfo.java, * gnu/xml/dom/DomAttr.java, * gnu/xml/dom/DomCDATASection.java, * gnu/xml/dom/DomCharacterData.java, * gnu/xml/dom/DomComment.java, * gnu/xml/dom/DomDOMException.java, * gnu/xml/dom/DomDoctype.java, * gnu/xml/dom/DomDocument.java, * gnu/xml/dom/DomDocumentBuilder.java, * gnu/xml/dom/DomDocumentBuilderFactory.java, * gnu/xml/dom/DomDocumentConfiguration.java, * gnu/xml/dom/DomDocumentFragment.java, * gnu/xml/dom/DomElement.java, * gnu/xml/dom/DomEntity.java, * gnu/xml/dom/DomEntityReference.java, * gnu/xml/dom/DomEvent.java, * gnu/xml/dom/DomExtern.java, * gnu/xml/dom/DomImpl.java, * gnu/xml/dom/DomIterator.java, * gnu/xml/dom/DomNSResolverContext.java, * gnu/xml/dom/DomNamedNodeMap.java, * gnu/xml/dom/DomNode.java, * gnu/xml/dom/DomNodeIterator.java, * gnu/xml/dom/DomNotation.java, * gnu/xml/dom/DomNsNode.java, * gnu/xml/dom/DomProcessingInstruction.java, * gnu/xml/dom/DomText.java, * gnu/xml/dom/DomXPathExpression.java, * gnu/xml/dom/DomXPathNSResolver.java, * gnu/xml/dom/DomXPathResult.java, * gnu/xml/dom/ImplementationList.java, * gnu/xml/dom/ImplementationSource.java, * gnu/xml/dom/JAXPFactory.java, * gnu/xml/dom/html2/DomHTMLAnchorElement.java, * gnu/xml/dom/html2/DomHTMLAppletElement.java, * gnu/xml/dom/html2/DomHTMLAreaElement.java, * gnu/xml/dom/html2/DomHTMLBRElement.java, * gnu/xml/dom/html2/DomHTMLBaseElement.java, * gnu/xml/dom/html2/DomHTMLBaseFontElement.java, * gnu/xml/dom/html2/DomHTMLBodyElement.java, * gnu/xml/dom/html2/DomHTMLButtonElement.java, * gnu/xml/dom/html2/DomHTMLCollection.java, * gnu/xml/dom/html2/DomHTMLDListElement.java, * gnu/xml/dom/html2/DomHTMLDirectoryElement.java, * gnu/xml/dom/html2/DomHTMLDivElement.java, * gnu/xml/dom/html2/DomHTMLDocument.java, * gnu/xml/dom/html2/DomHTMLElement.java, * gnu/xml/dom/html2/DomHTMLEmbedElement.java, * gnu/xml/dom/html2/DomHTMLFieldSetElement.java, * gnu/xml/dom/html2/DomHTMLFontElement.java, * gnu/xml/dom/html2/DomHTMLFormElement.java, * gnu/xml/dom/html2/DomHTMLFrameElement.java, * gnu/xml/dom/html2/DomHTMLFrameSetElement.java, * gnu/xml/dom/html2/DomHTMLHRElement.java, * gnu/xml/dom/html2/DomHTMLHeadElement.java, * gnu/xml/dom/html2/DomHTMLHeadingElement.java, * gnu/xml/dom/html2/DomHTMLHtmlElement.java, * gnu/xml/dom/html2/DomHTMLIFrameElement.java, * gnu/xml/dom/html2/DomHTMLImageElement.java, * gnu/xml/dom/html2/DomHTMLImpl.java, * gnu/xml/dom/html2/DomHTMLInputElement.java, * gnu/xml/dom/html2/DomHTMLIsIndexElement.java, * gnu/xml/dom/html2/DomHTMLLIElement.java, * gnu/xml/dom/html2/DomHTMLLabelElement.java, * gnu/xml/dom/html2/DomHTMLLegendElement.java, * gnu/xml/dom/html2/DomHTMLLinkElement.java, * gnu/xml/dom/html2/DomHTMLMapElement.java, * gnu/xml/dom/html2/DomHTMLMenuElement.java, * gnu/xml/dom/html2/DomHTMLMetaElement.java, * gnu/xml/dom/html2/DomHTMLModElement.java, * gnu/xml/dom/html2/DomHTMLOListElement.java, * gnu/xml/dom/html2/DomHTMLObjectElement.java, * gnu/xml/dom/html2/DomHTMLOptGroupElement.java, * gnu/xml/dom/html2/DomHTMLOptionElement.java, * gnu/xml/dom/html2/DomHTMLParagraphElement.java, * gnu/xml/dom/html2/DomHTMLParamElement.java, * gnu/xml/dom/html2/DomHTMLParser.java, * gnu/xml/dom/html2/DomHTMLPreElement.java, * gnu/xml/dom/html2/DomHTMLQuoteElement.java, * gnu/xml/dom/html2/DomHTMLScriptElement.java, * gnu/xml/dom/html2/DomHTMLSelectElement.java, * gnu/xml/dom/html2/DomHTMLStyleElement.java, * gnu/xml/dom/html2/DomHTMLTableCaptionElement.java, * gnu/xml/dom/html2/DomHTMLTableCellElement.java, * gnu/xml/dom/html2/DomHTMLTableColElement.java, * gnu/xml/dom/html2/DomHTMLTableElement.java, * gnu/xml/dom/html2/DomHTMLTableRowElement.java, * gnu/xml/dom/html2/DomHTMLTableSectionElement.java, * gnu/xml/dom/html2/DomHTMLTextAreaElement.java, * gnu/xml/dom/html2/DomHTMLTitleElement.java, * gnu/xml/dom/html2/DomHTMLUListElement.java, * gnu/xml/dom/ls/DomLSException.java, * gnu/xml/dom/ls/DomLSInput.java, * gnu/xml/dom/ls/DomLSOutput.java, * gnu/xml/dom/ls/DomLSParser.java, * gnu/xml/dom/ls/DomLSSerializer.java, * gnu/xml/dom/ls/FilteredSAXEventSink.java, * gnu/xml/dom/ls/ReaderInputStream.java, * gnu/xml/dom/ls/SAXEventSink.java, * gnu/xml/dom/ls/WriterOutputStream.java, * gnu/xml/libxmlj/dom/GnomeAttr.java, * gnu/xml/libxmlj/dom/GnomeCDATASection.java, * gnu/xml/libxmlj/dom/GnomeCharacterData.java, * gnu/xml/libxmlj/dom/GnomeComment.java, * gnu/xml/libxmlj/dom/GnomeDOMException.java, * gnu/xml/libxmlj/dom/GnomeDOMStringList.java, * gnu/xml/libxmlj/dom/GnomeDocument.java, * gnu/xml/libxmlj/dom/GnomeDocumentBuilder.java, * gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.java, * gnu/xml/libxmlj/dom/GnomeDocumentFragment.java, * gnu/xml/libxmlj/dom/GnomeDocumentType.java, * gnu/xml/libxmlj/dom/GnomeElement.java, * gnu/xml/libxmlj/dom/GnomeEntity.java, * gnu/xml/libxmlj/dom/GnomeEntityReference.java, * gnu/xml/libxmlj/dom/GnomeNamedNodeMap.java, * gnu/xml/libxmlj/dom/GnomeNode.java, * gnu/xml/libxmlj/dom/GnomeNodeList.java, * gnu/xml/libxmlj/dom/GnomeNotation.java, * gnu/xml/libxmlj/dom/GnomeProcessingInstruction.java, * gnu/xml/libxmlj/dom/GnomeText.java, * gnu/xml/libxmlj/dom/GnomeTypeInfo.java, * gnu/xml/libxmlj/dom/GnomeXPathExpression.java, * gnu/xml/libxmlj/dom/GnomeXPathNSResolver.java, * gnu/xml/libxmlj/dom/GnomeXPathNodeList.java, * gnu/xml/libxmlj/dom/GnomeXPathResult.java, * gnu/xml/libxmlj/sax/GnomeLocator.java, * gnu/xml/libxmlj/sax/GnomeSAXParser.java, * gnu/xml/libxmlj/sax/GnomeSAXParserFactory.java, * gnu/xml/libxmlj/sax/GnomeXMLReader.java, * gnu/xml/libxmlj/sax/Namespaces.java, * gnu/xml/libxmlj/sax/StringArrayAttributes.java, * gnu/xml/libxmlj/sax/XMLName.java, * gnu/xml/libxmlj/transform/ErrorListenerErrorHandler.java, * gnu/xml/libxmlj/transform/GnomeTransformer.java, * gnu/xml/libxmlj/transform/GnomeTransformerFactory.java, * gnu/xml/libxmlj/transform/URIResolverEntityResolver.java, * gnu/xml/libxmlj/util/EmptyNodeList.java, * gnu/xml/libxmlj/util/NamedInputStream.java, * gnu/xml/libxmlj/util/StandaloneDocumentType.java, * gnu/xml/libxmlj/util/StandaloneLocator.java, * gnu/xml/libxmlj/util/XMLJ.java, * gnu/xml/pipeline/CallFilter.java, * gnu/xml/pipeline/DomConsumer.java, * gnu/xml/pipeline/EventConsumer.java, * gnu/xml/pipeline/EventFilter.java, * gnu/xml/pipeline/LinkFilter.java, * gnu/xml/pipeline/NSFilter.java, * gnu/xml/pipeline/PipelineFactory.java, * gnu/xml/pipeline/TeeConsumer.java, * gnu/xml/pipeline/TextConsumer.java, * gnu/xml/pipeline/ValidationConsumer.java, * gnu/xml/pipeline/WellFormednessFilter.java, * gnu/xml/pipeline/XIncludeFilter.java, * gnu/xml/pipeline/XsltFilter.java, * gnu/xml/stream/AttributeImpl.java, * gnu/xml/stream/BufferedReader.java, * gnu/xml/stream/CRLFReader.java, * gnu/xml/stream/CharactersImpl.java, * gnu/xml/stream/CommentImpl.java, * gnu/xml/stream/DTDImpl.java, * gnu/xml/stream/EndDocumentImpl.java, * gnu/xml/stream/EndElementImpl.java, * gnu/xml/stream/EntityDeclarationImpl.java, * gnu/xml/stream/EntityReferenceImpl.java, * gnu/xml/stream/FilteredEventReader.java, * gnu/xml/stream/FilteredStreamReader.java, * gnu/xml/stream/NamespaceImpl.java, * gnu/xml/stream/NotationDeclarationImpl.java, * gnu/xml/stream/ProcessingInstructionImpl.java, * gnu/xml/stream/SAXParser.java, * gnu/xml/stream/SAXParserFactory.java, * gnu/xml/stream/StartDocumentImpl.java, * gnu/xml/stream/StartElementImpl.java, * gnu/xml/stream/UnicodeReader.java, * gnu/xml/stream/XIncludeFilter.java, * gnu/xml/stream/XMLEventAllocatorImpl.java, * gnu/xml/stream/XMLEventFactoryImpl.java, * gnu/xml/stream/XMLEventImpl.java, * gnu/xml/stream/XMLEventReaderImpl.java, * gnu/xml/stream/XMLEventWriterImpl.java, * gnu/xml/stream/XMLInputFactoryImpl.java, * gnu/xml/stream/XMLOutputFactoryImpl.java, * gnu/xml/stream/XMLParser.java, * gnu/xml/stream/XMLStreamWriterImpl.java, * gnu/xml/transform/AbstractNumberNode.java, * gnu/xml/transform/ApplyImportsNode.java, * gnu/xml/transform/ApplyTemplatesNode.java, * gnu/xml/transform/AttributeNode.java, * gnu/xml/transform/AttributeSet.java, * gnu/xml/transform/Bindings.java, * gnu/xml/transform/CallTemplateNode.java, * gnu/xml/transform/ChooseNode.java, * gnu/xml/transform/CommentNode.java, * gnu/xml/transform/CopyNode.java, * gnu/xml/transform/CopyOfNode.java, * gnu/xml/transform/CurrentFunction.java, * gnu/xml/transform/DOMSourceLocator.java, * gnu/xml/transform/DocumentFunction.java, * gnu/xml/transform/ElementAvailableFunction.java, * gnu/xml/transform/ElementNode.java, * gnu/xml/transform/ErrorListenerErrorHandler.java, * gnu/xml/transform/ForEachNode.java, * gnu/xml/transform/FormatNumberFunction.java, * gnu/xml/transform/FunctionAvailableFunction.java, * gnu/xml/transform/GenerateIdFunction.java, * gnu/xml/transform/IfNode.java, * gnu/xml/transform/Key.java, * gnu/xml/transform/KeyFunction.java, * gnu/xml/transform/LiteralNode.java, * gnu/xml/transform/MessageNode.java, * gnu/xml/transform/NamespaceProxy.java, * gnu/xml/transform/NodeNumberNode.java, * gnu/xml/transform/NumberNode.java, * gnu/xml/transform/OtherwiseNode.java, * gnu/xml/transform/ParameterNode.java, * gnu/xml/transform/ProcessingInstructionNode.java, * gnu/xml/transform/SAXSerializer.java, * gnu/xml/transform/SAXTemplatesHandler.java, * gnu/xml/transform/SAXTransformerHandler.java, * gnu/xml/transform/SortKey.java, * gnu/xml/transform/StreamSerializer.java, * gnu/xml/transform/StrippingInstruction.java, * gnu/xml/transform/Stylesheet.java, * gnu/xml/transform/SystemPropertyFunction.java, * gnu/xml/transform/Template.java, * gnu/xml/transform/TemplateNode.java, * gnu/xml/transform/TemplatesImpl.java, * gnu/xml/transform/TextNode.java, * gnu/xml/transform/TransformerFactoryImpl.java, * gnu/xml/transform/TransformerImpl.java, * gnu/xml/transform/TransformerOutputProperties.java, * gnu/xml/transform/URIResolverEntityResolver.java, * gnu/xml/transform/UnparsedEntityUriFunction.java, * gnu/xml/transform/ValueOfNode.java, * gnu/xml/transform/WhenNode.java, * gnu/xml/transform/WithParam.java, * gnu/xml/transform/XSLComparator.java, * gnu/xml/transform/XSLURIResolver.java, * gnu/xml/util/DoParse.java, * gnu/xml/util/DomParser.java, * gnu/xml/util/Resolver.java, * gnu/xml/util/SAXNullTransformerFactory.java, * gnu/xml/util/XCat.java, * gnu/xml/util/XHTMLWriter.java, * gnu/xml/util/XMLWriter.java, * gnu/xml/validation/datatype/Annotation.java, * gnu/xml/validation/datatype/AnySimpleType.java, * gnu/xml/validation/datatype/AnyType.java, * gnu/xml/validation/datatype/AnyURIType.java, * gnu/xml/validation/datatype/AtomicSimpleType.java, * gnu/xml/validation/datatype/Base64BinaryType.java, * gnu/xml/validation/datatype/BooleanType.java, * gnu/xml/validation/datatype/ByteType.java, * gnu/xml/validation/datatype/DateTimeType.java, * gnu/xml/validation/datatype/DateType.java, * gnu/xml/validation/datatype/DecimalType.java, * gnu/xml/validation/datatype/DoubleType.java, * gnu/xml/validation/datatype/DurationType.java, * gnu/xml/validation/datatype/EntitiesType.java, * gnu/xml/validation/datatype/EntityType.java, * gnu/xml/validation/datatype/EnumerationFacet.java, * gnu/xml/validation/datatype/Facet.java, * gnu/xml/validation/datatype/FloatType.java, * gnu/xml/validation/datatype/FractionDigitsFacet.java, * gnu/xml/validation/datatype/GDayType.java, * gnu/xml/validation/datatype/GMonthDayType.java, * gnu/xml/validation/datatype/GMonthType.java, * gnu/xml/validation/datatype/GYearMonthType.java, * gnu/xml/validation/datatype/GYearType.java, * gnu/xml/validation/datatype/HexBinaryType.java, * gnu/xml/validation/datatype/IDRefType.java, * gnu/xml/validation/datatype/IDRefsType.java, * gnu/xml/validation/datatype/IDType.java, * gnu/xml/validation/datatype/IntType.java, * gnu/xml/validation/datatype/IntegerType.java, * gnu/xml/validation/datatype/LanguageType.java, * gnu/xml/validation/datatype/LengthFacet.java, * gnu/xml/validation/datatype/ListSimpleType.java, * gnu/xml/validation/datatype/LongType.java, * gnu/xml/validation/datatype/MaxExclusiveFacet.java, * gnu/xml/validation/datatype/MaxInclusiveFacet.java, * gnu/xml/validation/datatype/MaxLengthFacet.java, * gnu/xml/validation/datatype/MinExclusiveFacet.java, * gnu/xml/validation/datatype/MinInclusiveFacet.java, * gnu/xml/validation/datatype/MinLengthFacet.java, * gnu/xml/validation/datatype/NCNameType.java, * gnu/xml/validation/datatype/NMTokenType.java, * gnu/xml/validation/datatype/NMTokensType.java, * gnu/xml/validation/datatype/NameType.java, * gnu/xml/validation/datatype/NegativeIntegerType.java, * gnu/xml/validation/datatype/NonNegativeIntegerType.java, * gnu/xml/validation/datatype/NonPositiveIntegerType.java, * gnu/xml/validation/datatype/NormalizedStringType.java, * gnu/xml/validation/datatype/NotationType.java, * gnu/xml/validation/datatype/PatternFacet.java, * gnu/xml/validation/datatype/PositiveIntegerType.java, * gnu/xml/validation/datatype/QNameType.java, * gnu/xml/validation/datatype/ShortType.java, * gnu/xml/validation/datatype/SimpleType.java, * gnu/xml/validation/datatype/StringType.java, * gnu/xml/validation/datatype/TimeType.java, * gnu/xml/validation/datatype/TokenType.java, * gnu/xml/validation/datatype/TotalDigitsFacet.java, * gnu/xml/validation/datatype/Type.java, * gnu/xml/validation/datatype/TypeBuilder.java, * gnu/xml/validation/datatype/TypeLibrary.java, * gnu/xml/validation/datatype/TypeLibraryFactory.java, * gnu/xml/validation/datatype/UnionSimpleType.java, * gnu/xml/validation/datatype/UnsignedByteType.java, * gnu/xml/validation/datatype/UnsignedIntType.java, * gnu/xml/validation/datatype/UnsignedLongType.java, * gnu/xml/validation/datatype/UnsignedShortType.java, * gnu/xml/validation/datatype/WhiteSpaceFacet.java, * gnu/xml/validation/relaxng/AnyNameNameClass.java, * gnu/xml/validation/relaxng/AttributePattern.java, * gnu/xml/validation/relaxng/ChoiceNameClass.java, * gnu/xml/validation/relaxng/ChoicePattern.java, * gnu/xml/validation/relaxng/DataPattern.java, * gnu/xml/validation/relaxng/Define.java, * gnu/xml/validation/relaxng/ElementPattern.java, * gnu/xml/validation/relaxng/EmptyPattern.java, * gnu/xml/validation/relaxng/FullSyntaxBuilder.java, * gnu/xml/validation/relaxng/Grammar.java, * gnu/xml/validation/relaxng/GrammarException.java, * gnu/xml/validation/relaxng/GrammarValidator.java, * gnu/xml/validation/relaxng/GroupPattern.java, * gnu/xml/validation/relaxng/InterleavePattern.java, * gnu/xml/validation/relaxng/ListPattern.java, * gnu/xml/validation/relaxng/NSNameNameClass.java, * gnu/xml/validation/relaxng/NameClass.java, * gnu/xml/validation/relaxng/NameNameClass.java, * gnu/xml/validation/relaxng/NotAllowedPattern.java, * gnu/xml/validation/relaxng/OneOrMorePattern.java, * gnu/xml/validation/relaxng/Param.java, * gnu/xml/validation/relaxng/Pattern.java, * gnu/xml/validation/relaxng/RELAXNGSchemaFactory.java, * gnu/xml/validation/relaxng/RefPattern.java, * gnu/xml/validation/relaxng/TextPattern.java, * gnu/xml/validation/relaxng/ValuePattern.java, * gnu/xml/validation/xmlschema/AnyAttribute.java, * gnu/xml/validation/xmlschema/AttributeDeclaration.java, * gnu/xml/validation/xmlschema/AttributeUse.java, * gnu/xml/validation/xmlschema/ComplexType.java, * gnu/xml/validation/xmlschema/ElementDeclaration.java, * gnu/xml/validation/xmlschema/Particle.java, * gnu/xml/validation/xmlschema/ValidationException.java, * gnu/xml/validation/xmlschema/XMLSchema.java, * gnu/xml/validation/xmlschema/XMLSchemaAttributeTypeInfo.java, * gnu/xml/validation/xmlschema/XMLSchemaBuilder.java, * gnu/xml/validation/xmlschema/XMLSchemaElementTypeInfo.java, * gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.java, * gnu/xml/validation/xmlschema/XMLSchemaTypeInfo.java, * gnu/xml/validation/xmlschema/XMLSchemaTypeInfoProvider.java, * gnu/xml/validation/xmlschema/XMLSchemaValidator.java, * gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.java, * gnu/xml/xpath/AndExpr.java, * gnu/xml/xpath/ArithmeticExpr.java, * gnu/xml/xpath/BooleanFunction.java, * gnu/xml/xpath/CeilingFunction.java, * gnu/xml/xpath/ConcatFunction.java, * gnu/xml/xpath/Constant.java, * gnu/xml/xpath/ContainsFunction.java, * gnu/xml/xpath/CountFunction.java, * gnu/xml/xpath/DocumentOrderComparator.java, * gnu/xml/xpath/EqualityExpr.java, * gnu/xml/xpath/Expr.java, * gnu/xml/xpath/FalseFunction.java, * gnu/xml/xpath/FloorFunction.java, * gnu/xml/xpath/Function.java, * gnu/xml/xpath/FunctionCall.java, * gnu/xml/xpath/IdFunction.java, * gnu/xml/xpath/LangFunction.java, * gnu/xml/xpath/LastFunction.java, * gnu/xml/xpath/LocalNameFunction.java, * gnu/xml/xpath/NameFunction.java, * gnu/xml/xpath/NameTest.java, * gnu/xml/xpath/NamespaceTest.java, * gnu/xml/xpath/NamespaceUriFunction.java, * gnu/xml/xpath/NegativeExpr.java, * gnu/xml/xpath/NodeTypeTest.java, * gnu/xml/xpath/NormalizeSpaceFunction.java, * gnu/xml/xpath/NotFunction.java, * gnu/xml/xpath/NumberFunction.java, * gnu/xml/xpath/OrExpr.java, * gnu/xml/xpath/ParenthesizedExpr.java, * gnu/xml/xpath/Path.java, * gnu/xml/xpath/Pattern.java, * gnu/xml/xpath/PositionFunction.java, * gnu/xml/xpath/Predicate.java, * gnu/xml/xpath/RelationalExpr.java, * gnu/xml/xpath/Root.java, * gnu/xml/xpath/RoundFunction.java, * gnu/xml/xpath/Selector.java, * gnu/xml/xpath/StartsWithFunction.java, * gnu/xml/xpath/Steps.java, * gnu/xml/xpath/StringFunction.java, * gnu/xml/xpath/StringLengthFunction.java, * gnu/xml/xpath/SubstringAfterFunction.java, * gnu/xml/xpath/SubstringBeforeFunction.java, * gnu/xml/xpath/SubstringFunction.java, * gnu/xml/xpath/SumFunction.java, * gnu/xml/xpath/Test.java, * gnu/xml/xpath/TranslateFunction.java, * gnu/xml/xpath/TrueFunction.java, * gnu/xml/xpath/UnionExpr.java, * gnu/xml/xpath/VariableReference.java, * gnu/xml/xpath/XPathFactoryImpl.java, * gnu/xml/xpath/XPathImpl.java, * gnu/xml/xpath/XPathParser.java, * gnu/xml/xpath/XPathTokenizer.java, * java/applet/Applet.java, * java/awt/AWTEvent.java, * java/awt/AWTEventMulticaster.java, * java/awt/AWTKeyStroke.java, * java/awt/AlphaComposite.java, * java/awt/BasicStroke.java, * java/awt/BorderLayout.java, * java/awt/BufferCapabilities.java, * java/awt/Button.java, * java/awt/Canvas.java, * java/awt/CardLayout.java, * java/awt/Checkbox.java, * java/awt/CheckboxGroup.java, * java/awt/CheckboxMenuItem.java, * java/awt/Choice.java, * java/awt/Color.java, * java/awt/ColorPaintContext.java, * java/awt/Component.java, * java/awt/Container.java, * java/awt/ContainerOrderFocusTraversalPolicy.java, * java/awt/Cursor.java, * java/awt/DefaultFocusTraversalPolicy.java, * java/awt/DefaultKeyboardFocusManager.java, * java/awt/Desktop.java, * java/awt/Dialog.java, * java/awt/DisplayMode.java, * java/awt/Event.java, * java/awt/EventDispatchThread.java, * java/awt/EventQueue.java, * java/awt/FileDialog.java, * java/awt/FlowLayout.java, * java/awt/FocusTraversalPolicy.java, * java/awt/Font.java, * java/awt/FontMetrics.java, * java/awt/Frame.java, * java/awt/GradientPaint.java, * java/awt/Graphics.java, * java/awt/Graphics2D.java, * java/awt/GraphicsConfiguration.java, * java/awt/GraphicsDevice.java, * java/awt/GridBagConstraints.java, * java/awt/GridBagLayout.java, * java/awt/GridLayout.java, * java/awt/Image.java, * java/awt/Insets.java, * java/awt/JobAttributes.java, * java/awt/KeyboardFocusManager.java, * java/awt/Label.java, * java/awt/LightweightDispatcher.java, * java/awt/List.java, * java/awt/MediaTracker.java, * java/awt/Menu.java, * java/awt/MenuBar.java, * java/awt/MenuComponent.java, * java/awt/MenuItem.java, * java/awt/MenuShortcut.java, * java/awt/MouseInfo.java, * java/awt/PageAttributes.java, * java/awt/Point.java, * java/awt/PointerInfo.java, * java/awt/Polygon.java, * java/awt/PopupMenu.java, * java/awt/Rectangle.java, * java/awt/RenderingHints.java, * java/awt/Robot.java, * java/awt/ScrollPane.java, * java/awt/ScrollPaneAdjustable.java, * java/awt/Scrollbar.java, * java/awt/Shape.java, * java/awt/SystemColor.java, * java/awt/TextArea.java, * java/awt/TextComponent.java, * java/awt/TextField.java, * java/awt/TexturePaint.java, * java/awt/Toolkit.java, * java/awt/Window.java, * java/awt/color/ICC_ColorSpace.java, * java/awt/color/ICC_Profile.java, * java/awt/color/ICC_ProfileGray.java, * java/awt/color/ICC_ProfileRGB.java, * java/awt/datatransfer/Clipboard.java, * java/awt/datatransfer/ClipboardOwner.java, * java/awt/datatransfer/DataFlavor.java, * java/awt/datatransfer/FlavorEvent.java, * java/awt/datatransfer/FlavorListener.java, * java/awt/datatransfer/MimeType.java, * java/awt/datatransfer/StringSelection.java, * java/awt/datatransfer/SystemFlavorMap.java, * java/awt/datatransfer/Transferable.java, * java/awt/datatransfer/UnsupportedFlavorException.java, * java/awt/dnd/Autoscroll.java, * java/awt/dnd/DnDEventMulticaster.java, * java/awt/dnd/DragGestureEvent.java, * java/awt/dnd/DragGestureRecognizer.java, * java/awt/dnd/DragSource.java, * java/awt/dnd/DragSourceContext.java, * java/awt/dnd/DragSourceDropEvent.java, * java/awt/dnd/DragSourceEvent.java, * java/awt/dnd/DropTarget.java, * java/awt/dnd/DropTargetContext.java, * java/awt/dnd/DropTargetDragEvent.java, * java/awt/dnd/DropTargetDropEvent.java, * java/awt/dnd/DropTargetEvent.java, * java/awt/dnd/MouseDragGestureRecognizer.java, * java/awt/dnd/peer/DropTargetContextPeer.java, * java/awt/event/AWTEventListener.java, * java/awt/event/ActionEvent.java, * java/awt/event/ComponentAdapter.java, * java/awt/event/ComponentEvent.java, * java/awt/event/InputEvent.java, * java/awt/event/InputMethodEvent.java, * java/awt/event/InvocationEvent.java, * java/awt/event/KeyEvent.java, * java/awt/event/MouseEvent.java, * java/awt/event/MouseListener.java, * java/awt/event/MouseWheelEvent.java, * java/awt/event/WindowEvent.java, * java/awt/font/FontRenderContext.java, * java/awt/font/GlyphJustificationInfo.java, * java/awt/font/GlyphMetrics.java, * java/awt/font/GlyphVector.java, * java/awt/font/GraphicAttribute.java, * java/awt/font/ImageGraphicAttribute.java, * java/awt/font/LineBreakMeasurer.java, * java/awt/font/LineMetrics.java, * java/awt/font/MultipleMaster.java, * java/awt/font/OpenType.java, * java/awt/font/ShapeGraphicAttribute.java, * java/awt/font/TextAttribute.java, * java/awt/font/TextHitInfo.java, * java/awt/font/TextLayout.java, * java/awt/font/TextMeasurer.java, * java/awt/font/TransformAttribute.java, * java/awt/geom/AffineTransform.java, * java/awt/geom/Arc2D.java, * java/awt/geom/Area.java, * java/awt/geom/CubicCurve2D.java, * java/awt/geom/Ellipse2D.java, * java/awt/geom/FlatteningPathIterator.java, * java/awt/geom/GeneralPath.java, * java/awt/geom/Line2D.java, * java/awt/geom/QuadCurve2D.java, * java/awt/geom/RectangularShape.java, * java/awt/geom/RoundRectangle2D.java, * java/awt/im/InputContext.java, * java/awt/im/spi/InputMethodDescriptor.java, * java/awt/image/AffineTransformOp.java, * java/awt/image/AreaAveragingScaleFilter.java, * java/awt/image/BandCombineOp.java, * java/awt/image/BandedSampleModel.java, * java/awt/image/BufferedImage.java, * java/awt/image/BufferedImageFilter.java, * java/awt/image/BufferedImageOp.java, * java/awt/image/ByteLookupTable.java, * java/awt/image/ColorConvertOp.java, * java/awt/image/ColorModel.java, * java/awt/image/ComponentColorModel.java, * java/awt/image/ComponentSampleModel.java, * java/awt/image/ConvolveOp.java, * java/awt/image/CropImageFilter.java, * java/awt/image/DataBuffer.java, * java/awt/image/DataBufferByte.java, * java/awt/image/DataBufferDouble.java, * java/awt/image/DataBufferFloat.java, * java/awt/image/DataBufferInt.java, * java/awt/image/DataBufferShort.java, * java/awt/image/DataBufferUShort.java, * java/awt/image/DirectColorModel.java, * java/awt/image/FilteredImageSource.java, * java/awt/image/ImageConsumer.java, * java/awt/image/ImageFilter.java, * java/awt/image/ImageObserver.java, * java/awt/image/ImageProducer.java, * java/awt/image/IndexColorModel.java, * java/awt/image/Kernel.java, * java/awt/image/LookupOp.java, * java/awt/image/LookupTable.java, * java/awt/image/MemoryImageSource.java, * java/awt/image/MultiPixelPackedSampleModel.java, * java/awt/image/PackedColorModel.java, * java/awt/image/PixelGrabber.java, * java/awt/image/PixelInterleavedSampleModel.java, * java/awt/image/RGBImageFilter.java, * java/awt/image/Raster.java, * java/awt/image/RasterOp.java, * java/awt/image/RenderedImage.java, * java/awt/image/ReplicateScaleFilter.java, * java/awt/image/RescaleOp.java, * java/awt/image/SampleModel.java, * java/awt/image/ShortLookupTable.java, * java/awt/image/SinglePixelPackedSampleModel.java, * java/awt/image/TileObserver.java, * java/awt/image/WritableRaster.java, * java/awt/image/WritableRenderedImage.java, * java/awt/image/renderable/ContextualRenderedImageFactory.java, * java/awt/image/renderable/ParameterBlock.java, * java/awt/image/renderable/RenderContext.java, * java/awt/image/renderable/RenderableImage.java, * java/awt/image/renderable/RenderableImageOp.java, * java/awt/image/renderable/RenderableImageProducer.java, * java/awt/image/renderable/RenderedImageFactory.java, * java/awt/peer/ButtonPeer.java, * java/awt/peer/CanvasPeer.java, * java/awt/peer/CheckboxMenuItemPeer.java, * java/awt/peer/CheckboxPeer.java, * java/awt/peer/ChoicePeer.java, * java/awt/peer/ComponentPeer.java, * java/awt/peer/ContainerPeer.java, * java/awt/peer/DesktopPeer.java, * java/awt/peer/DialogPeer.java, * java/awt/peer/FileDialogPeer.java, * java/awt/peer/FontPeer.java, * java/awt/peer/FramePeer.java, * java/awt/peer/LabelPeer.java, * java/awt/peer/LightweightPeer.java, * java/awt/peer/ListPeer.java, * java/awt/peer/MenuBarPeer.java, * java/awt/peer/MenuComponentPeer.java, * java/awt/peer/MenuItemPeer.java, * java/awt/peer/MenuPeer.java, * java/awt/peer/MouseInfoPeer.java, * java/awt/peer/PanelPeer.java, * java/awt/peer/PopupMenuPeer.java, * java/awt/peer/RobotPeer.java, * java/awt/peer/ScrollPanePeer.java, * java/awt/peer/ScrollbarPeer.java, * java/awt/peer/TextComponentPeer.java, * java/awt/peer/TextFieldPeer.java, * java/awt/peer/WindowPeer.java, * java/awt/print/Book.java, * java/awt/print/PageFormat.java, * java/awt/print/Pageable.java, * java/awt/print/Paper.java, * java/awt/print/PrinterGraphics.java, * java/awt/print/PrinterIOException.java, * java/awt/print/PrinterJob.java, * java/beans/AppletInitializer.java, * java/beans/BeanDescriptor.java, * java/beans/BeanInfo.java, * java/beans/Beans.java, * java/beans/Customizer.java, * java/beans/DefaultPersistenceDelegate.java, * java/beans/DesignMode.java, * java/beans/Encoder.java, * java/beans/EventHandler.java, * java/beans/EventSetDescriptor.java, * java/beans/Expression.java, * java/beans/FeatureDescriptor.java, * java/beans/IndexedPropertyChangeEvent.java, * java/beans/IndexedPropertyDescriptor.java, * java/beans/Introspector.java, * java/beans/MethodDescriptor.java, * java/beans/ParameterDescriptor.java, * java/beans/PersistenceDelegate.java, * java/beans/PropertyChangeSupport.java, * java/beans/PropertyDescriptor.java, * java/beans/PropertyEditor.java, * java/beans/PropertyEditorManager.java, * java/beans/SimpleBeanInfo.java, * java/beans/Statement.java, * java/beans/VetoableChangeSupport.java, * java/beans/Visibility.java, * java/beans/XMLDecoder.java, * java/beans/XMLEncoder.java, * java/beans/beancontext/BeanContext.java, * java/beans/beancontext/BeanContextChild.java, * java/beans/beancontext/BeanContextChildComponentProxy.java, * java/beans/beancontext/BeanContextChildSupport.java, * java/beans/beancontext/BeanContextContainerProxy.java, * java/beans/beancontext/BeanContextEvent.java, * java/beans/beancontext/BeanContextMembershipEvent.java, * java/beans/beancontext/BeanContextMembershipListener.java, * java/beans/beancontext/BeanContextProxy.java, * java/beans/beancontext/BeanContextServiceAvailableEvent.java, * java/beans/beancontext/BeanContextServiceProvider.java, * java/beans/beancontext/BeanContextServiceProviderBeanInfo.java, * java/beans/beancontext/BeanContextServiceRevokedEvent.java, * java/beans/beancontext/BeanContextServiceRevokedListener.java, * java/beans/beancontext/BeanContextServices.java, * java/beans/beancontext/BeanContextServicesListener.java, * java/beans/beancontext/BeanContextServicesSupport.java, * java/beans/beancontext/BeanContextSupport.java, * java/io/BufferedInputStream.java, * java/io/BufferedOutputStream.java, * java/io/BufferedReader.java, * java/io/BufferedWriter.java, * java/io/ByteArrayInputStream.java, * java/io/ByteArrayOutputStream.java, * java/io/CharArrayReader.java, * java/io/CharArrayWriter.java, * java/io/DataInput.java, * java/io/DataInputStream.java, * java/io/DataOutput.java, * java/io/DataOutputStream.java, * java/io/DeleteFileHelper.java, * java/io/EOFException.java, * java/io/Externalizable.java, * java/io/File.java, * java/io/FileDescriptor.java, * java/io/FileFilter.java, * java/io/FileInputStream.java, * java/io/FileOutputStream.java, * java/io/FilePermission.java, * java/io/FileReader.java, * java/io/FileWriter.java, * java/io/FilenameFilter.java, * java/io/FilterInputStream.java, * java/io/FilterOutputStream.java, * java/io/FilterReader.java, * java/io/FilterWriter.java, * java/io/InputStream.java, * java/io/InputStreamReader.java, * java/io/InvalidClassException.java, * java/io/LineNumberInputStream.java, * java/io/LineNumberReader.java, * java/io/ObjectInput.java, * java/io/ObjectInputStream.java, * java/io/ObjectInputValidation.java, * java/io/ObjectOutput.java, * java/io/ObjectOutputStream.java, * java/io/ObjectStreamClass.java, * java/io/ObjectStreamConstants.java, * java/io/ObjectStreamField.java, * java/io/OutputStream.java, * java/io/OutputStreamWriter.java, * java/io/PipedInputStream.java, * java/io/PipedOutputStream.java, * java/io/PipedReader.java, * java/io/PipedWriter.java, * java/io/PrintStream.java, * java/io/PrintWriter.java, * java/io/PushbackInputStream.java, * java/io/PushbackReader.java, * java/io/RandomAccessFile.java, * java/io/Reader.java, * java/io/SequenceInputStream.java, * java/io/Serializable.java, * java/io/SerializablePermission.java, * java/io/StreamTokenizer.java, * java/io/StringBufferInputStream.java, * java/io/StringReader.java, * java/io/StringWriter.java, * java/io/UnsupportedEncodingException.java, * java/io/Writer.java, * java/lang/AbstractStringBuffer.java, * java/lang/Boolean.java, * java/lang/Character.java, * java/lang/Class.java, * java/lang/ClassLoader.java, * java/lang/Comparable.java, * java/lang/Double.java, * java/lang/Enum.java, * java/lang/EnumConstantNotPresentException.java, * java/lang/Float.java, * java/lang/IllegalArgumentException.java, * java/lang/IllegalStateException.java, * java/lang/IndexOutOfBoundsException.java, * java/lang/Integer.java, * java/lang/Long.java, * java/lang/Math.java, * java/lang/NoClassDefFoundError.java, * java/lang/Object.java, * java/lang/Package.java, * java/lang/ProcessBuilder.java, * java/lang/Runtime.java, * java/lang/SecurityException.java, * java/lang/SecurityManager.java, * java/lang/StackTraceElement.java, * java/lang/StrictMath.java, * java/lang/String.java, * java/lang/StringBuffer.java, * java/lang/StringBuilder.java, * java/lang/System.java, * java/lang/Thread.java, * java/lang/ThreadLocal.java, * java/lang/Throwable.java, * java/lang/TypeNotPresentException.java, * java/lang/UnsupportedOperationException.java, * java/lang/annotation/Annotation.java, * java/lang/annotation/AnnotationTypeMismatchException.java, * java/lang/annotation/IncompleteAnnotationException.java, * java/lang/instrument/ClassFileTransformer.java, * java/lang/instrument/Instrumentation.java, * java/lang/management/ClassLoadingMXBean.java, * java/lang/management/CompilationMXBean.java, * java/lang/management/GarbageCollectorMXBean.java, * java/lang/management/ManagementFactory.java, * java/lang/management/ManagementPermission.java, * java/lang/management/MemoryMXBean.java, * java/lang/management/MemoryManagerMXBean.java, * java/lang/management/MemoryNotificationInfo.java, * java/lang/management/MemoryPoolMXBean.java, * java/lang/management/MemoryType.java, * java/lang/management/MemoryUsage.java, * java/lang/management/MonitorInfo.java, * java/lang/management/OperatingSystemMXBean.java, * java/lang/management/RuntimeMXBean.java, * java/lang/management/ThreadInfo.java, * java/lang/management/ThreadMXBean.java, * java/lang/ref/PhantomReference.java, * java/lang/ref/Reference.java, * java/lang/ref/ReferenceQueue.java, * java/lang/ref/SoftReference.java, * java/lang/ref/WeakReference.java, * java/lang/reflect/AccessibleObject.java, * java/lang/reflect/AnnotatedElement.java, * java/lang/reflect/Array.java, * java/lang/reflect/Constructor.java, * java/lang/reflect/Field.java, * java/lang/reflect/GenericArrayType.java, * java/lang/reflect/GenericDeclaration.java, * java/lang/reflect/InvocationHandler.java, * java/lang/reflect/MalformedParameterizedTypeException.java, * java/lang/reflect/Method.java, * java/lang/reflect/Modifier.java, * java/lang/reflect/Proxy.java, * java/lang/reflect/Type.java, * java/lang/reflect/TypeVariable.java, * java/lang/reflect/WildcardType.java, * java/math/BigDecimal.java, * java/math/BigInteger.java, * java/math/MathContext.java, * java/math/RoundingMode.java, * java/net/ContentHandler.java, * java/net/DatagramSocket.java, * java/net/DatagramSocketImpl.java, * java/net/HttpURLConnection.java, * java/net/Inet4Address.java, * java/net/Inet6Address.java, * java/net/InetAddress.java, * java/net/InetSocketAddress.java, * java/net/MimeTypeMapper.java, * java/net/MulticastSocket.java, * java/net/NetworkInterface.java, * java/net/Proxy.java, * java/net/ProxySelector.java, * java/net/ResolverCache.java, * java/net/ServerSocket.java, * java/net/Socket.java, * java/net/SocketPermission.java, * java/net/URI.java, * java/net/URL.java, * java/net/URLClassLoader.java, * java/net/URLConnection.java, * java/net/URLDecoder.java, * java/net/URLEncoder.java, * java/net/URLStreamHandler.java, * java/nio/Buffer.java, * java/nio/BufferOverflowException.java, * java/nio/BufferUnderflowException.java, * java/nio/ByteBuffer.java, * java/nio/ByteBufferHelper.java, * java/nio/ByteBufferImpl.java, * java/nio/ByteOrder.java, * java/nio/CharBuffer.java, * java/nio/CharBufferImpl.java, * java/nio/CharSequenceBuffer.java, * java/nio/CharViewBufferImpl.java, * java/nio/DirectByteBufferImpl.java, * java/nio/DoubleBuffer.java, * java/nio/DoubleBufferImpl.java, * java/nio/DoubleViewBufferImpl.java, * java/nio/FloatBuffer.java, * java/nio/FloatBufferImpl.java, * java/nio/FloatViewBufferImpl.java, * java/nio/IntBuffer.java, * java/nio/IntBufferImpl.java, * java/nio/IntViewBufferImpl.java, * java/nio/InvalidMarkException.java, * java/nio/LongBuffer.java, * java/nio/LongBufferImpl.java, * java/nio/LongViewBufferImpl.java, * java/nio/MappedByteBuffer.java, * java/nio/MappedByteBufferImpl.java, * java/nio/ReadOnlyBufferException.java, * java/nio/ShortBuffer.java, * java/nio/ShortBufferImpl.java, * java/nio/ShortViewBufferImpl.java, * java/nio/channels/FileChannel.java, * java/nio/channels/SocketChannel.java, * java/nio/channels/spi/AbstractInterruptibleChannel.java, * java/nio/channels/spi/AbstractSelectableChannel.java, * java/nio/channels/spi/AbstractSelectionKey.java, * java/nio/channels/spi/AbstractSelector.java, * java/nio/channels/spi/SelectorProvider.java, * java/nio/charset/CharacterCodingException.java, * java/nio/charset/Charset.java, * java/nio/charset/CharsetDecoder.java, * java/nio/charset/CharsetEncoder.java, * java/nio/charset/CoderMalfunctionError.java, * java/nio/charset/CoderResult.java, * java/nio/charset/CodingErrorAction.java, * java/nio/charset/IllegalCharsetNameException.java, * java/nio/charset/MalformedInputException.java, * java/nio/charset/UnmappableCharacterException.java, * java/nio/charset/UnsupportedCharsetException.java, * java/rmi/AccessException.java, * java/rmi/AlreadyBoundException.java, * java/rmi/MarshalledObject.java, * java/rmi/Naming.java, * java/rmi/NoSuchObjectException.java, * java/rmi/NotBoundException.java, * java/rmi/RMISecurityException.java, * java/rmi/RMISecurityManager.java, * java/rmi/Remote.java, * java/rmi/RemoteException.java, * java/rmi/StubNotFoundException.java, * java/rmi/UnknownHostException.java, * java/rmi/activation/Activatable.java, * java/rmi/activation/ActivationDesc.java, * java/rmi/activation/ActivationGroup.java, * java/rmi/activation/ActivationGroupDesc.java, * java/rmi/activation/ActivationGroupID.java, * java/rmi/activation/ActivationID.java, * java/rmi/activation/ActivationInstantiator.java, * java/rmi/activation/ActivationMonitor.java, * java/rmi/activation/ActivationSystem.java, * java/rmi/activation/Activator.java, * java/rmi/activation/UnknownGroupException.java, * java/rmi/dgc/DGC.java, * java/rmi/dgc/Lease.java, * java/rmi/dgc/VMID.java, * java/rmi/registry/LocateRegistry.java, * java/rmi/registry/Registry.java, * java/rmi/registry/RegistryHandler.java, * java/rmi/server/LoaderHandler.java, * java/rmi/server/LogStream.java, * java/rmi/server/ObjID.java, * java/rmi/server/Operation.java, * java/rmi/server/RMIClassLoader.java, * java/rmi/server/RMIClientSocketFactory.java, * java/rmi/server/RMIFailureHandler.java, * java/rmi/server/RMIServerSocketFactory.java, * java/rmi/server/RMISocketFactory.java, * java/rmi/server/RemoteCall.java, * java/rmi/server/RemoteObject.java, * java/rmi/server/RemoteObjectInvocationHandler.java, * java/rmi/server/RemoteRef.java, * java/rmi/server/RemoteServer.java, * java/rmi/server/RemoteStub.java, * java/rmi/server/ServerRef.java, * java/rmi/server/Skeleton.java, * java/rmi/server/UID.java, * java/rmi/server/UnicastRemoteObject.java, * java/rmi/server/Unreferenced.java, * java/security/AccessControlContext.java, * java/security/AccessController.java, * java/security/AlgorithmParameterGenerator.java, * java/security/AlgorithmParameterGeneratorSpi.java, * java/security/AlgorithmParameters.java, * java/security/AlgorithmParametersSpi.java, * java/security/CodeSource.java, * java/security/DigestInputStream.java, * java/security/DigestOutputStream.java, * java/security/GeneralSecurityException.java, * java/security/Identity.java, * java/security/IdentityScope.java, * java/security/KeyFactory.java, * java/security/KeyFactorySpi.java, * java/security/KeyPairGenerator.java, * java/security/KeyPairGeneratorSpi.java, * java/security/KeyStore.java, * java/security/KeyStoreSpi.java, * java/security/MessageDigest.java, * java/security/MessageDigestSpi.java, * java/security/Permission.java, * java/security/Permissions.java, * java/security/Policy.java, * java/security/ProtectionDomain.java, * java/security/Provider.java, * java/security/ProviderException.java, * java/security/SecureClassLoader.java, * java/security/SecureRandom.java, * java/security/SecureRandomSpi.java, * java/security/Security.java, * java/security/Signature.java, * java/security/SignatureSpi.java, * java/security/SignedObject.java, * java/security/Signer.java, * java/security/acl/Acl.java, * java/security/acl/AclEntry.java, * java/security/acl/Group.java, * java/security/acl/Owner.java, * java/security/cert/CRL.java, * java/security/cert/CRLSelector.java, * java/security/cert/CertPathBuilder.java, * java/security/cert/CertPathBuilderResult.java, * java/security/cert/CertPathValidator.java, * java/security/cert/CertPathValidatorResult.java, * java/security/cert/CertPathValidatorSpi.java, * java/security/cert/CertSelector.java, * java/security/cert/CertStore.java, * java/security/cert/CertStoreParameters.java, * java/security/cert/CertStoreSpi.java, * java/security/cert/Certificate.java, * java/security/cert/CertificateFactory.java, * java/security/cert/CertificateFactorySpi.java, * java/security/cert/CollectionCertStoreParameters.java, * java/security/cert/LDAPCertStoreParameters.java, * java/security/cert/PKIXBuilderParameters.java, * java/security/cert/PKIXCertPathBuilderResult.java, * java/security/cert/PKIXCertPathChecker.java, * java/security/cert/PKIXCertPathValidatorResult.java, * java/security/cert/PKIXParameters.java, * java/security/cert/PolicyNode.java, * java/security/cert/PolicyQualifierInfo.java, * java/security/cert/X509CRL.java, * java/security/cert/X509CRLEntry.java, * java/security/cert/X509CertSelector.java, * java/security/cert/X509Certificate.java, * java/security/cert/X509Extension.java, * java/security/spec/AlgorithmParameterSpec.java, * java/security/spec/DSAParameterSpec.java, * java/security/spec/DSAPrivateKeySpec.java, * java/security/spec/DSAPublicKeySpec.java, * java/security/spec/EncodedKeySpec.java, * java/security/spec/InvalidParameterSpecException.java, * java/security/spec/KeySpec.java, * java/security/spec/PKCS8EncodedKeySpec.java, * java/security/spec/PSSParameterSpec.java, * java/security/spec/RSAKeyGenParameterSpec.java, * java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java, * java/security/spec/RSAOtherPrimeInfo.java, * java/security/spec/RSAPrivateCrtKeySpec.java, * java/security/spec/RSAPrivateKeySpec.java, * java/security/spec/RSAPublicKeySpec.java, * java/security/spec/X509EncodedKeySpec.java, * java/sql/Array.java, * java/sql/BatchUpdateException.java, * java/sql/Blob.java, * java/sql/CallableStatement.java, * java/sql/Clob.java, * java/sql/Connection.java, * java/sql/DataTruncation.java, * java/sql/DatabaseMetaData.java, * java/sql/Date.java, * java/sql/Driver.java, * java/sql/DriverManager.java, * java/sql/DriverPropertyInfo.java, * java/sql/ParameterMetaData.java, * java/sql/PreparedStatement.java, * java/sql/Ref.java, * java/sql/ResultSet.java, * java/sql/ResultSetMetaData.java, * java/sql/SQLData.java, * java/sql/SQLException.java, * java/sql/SQLInput.java, * java/sql/SQLOutput.java, * java/sql/SQLPermission.java, * java/sql/SQLWarning.java, * java/sql/Savepoint.java, * java/sql/Statement.java, * java/sql/Struct.java, * java/sql/Time.java, * java/sql/Timestamp.java, * java/sql/Types.java, * java/text/Annotation.java, * java/text/AttributedCharacterIterator.java, * java/text/AttributedString.java, * java/text/AttributedStringIterator.java, * java/text/Bidi.java, * java/text/BreakIterator.java, * java/text/CharacterIterator.java, * java/text/ChoiceFormat.java, * java/text/CollationElementIterator.java, * java/text/CollationKey.java, * java/text/Collator.java, * java/text/DateFormat.java, * java/text/DateFormatSymbols.java, * java/text/DecimalFormat.java, * java/text/DecimalFormatSymbols.java, * java/text/FieldPosition.java, * java/text/Format.java, * java/text/MessageFormat.java, * java/text/NumberFormat.java, * java/text/ParsePosition.java, * java/text/RuleBasedCollator.java, * java/text/SimpleDateFormat.java, * java/text/StringCharacterIterator.java, * java/text/spi/DateFormatProvider.java, * java/text/spi/NumberFormatProvider.java, * java/util/AbstractCollection.java, * java/util/AbstractList.java, * java/util/AbstractMap.java, * java/util/AbstractSet.java, * java/util/ArrayList.java, * java/util/Arrays.java, * java/util/BitSet.java, * java/util/Calendar.java, * java/util/Collections.java, * java/util/Currency.java, * java/util/Date.java, * java/util/Dictionary.java, * java/util/DuplicateFormatFlagsException.java, * java/util/EnumMap.java, * java/util/EnumSet.java, * java/util/FormatFlagsConversionMismatchException.java, * java/util/Formattable.java, * java/util/FormattableFlags.java, * java/util/Formatter.java, * java/util/FormatterClosedException.java, * java/util/GregorianCalendar.java, * java/util/HashMap.java, * java/util/Hashtable.java, * java/util/IdentityHashMap.java, * java/util/IllegalFormatCodePointException.java, * java/util/IllegalFormatConversionException.java, * java/util/IllegalFormatException.java, * java/util/IllegalFormatFlagsException.java, * java/util/IllegalFormatPrecisionException.java, * java/util/IllegalFormatWidthException.java, * java/util/InputMismatchException.java, * java/util/LinkedHashMap.java, * java/util/LinkedHashSet.java, * java/util/LinkedList.java, * java/util/List.java, * java/util/Locale.java, * java/util/Map.java, * java/util/MissingFormatArgumentException.java, * java/util/MissingFormatWidthException.java, * java/util/PriorityQueue.java, * java/util/Properties.java, * java/util/PropertyPermission.java, * java/util/PropertyPermissionCollection.java, * java/util/Random.java, * java/util/ResourceBundle.java, * java/util/ServiceConfigurationError.java, * java/util/ServiceLoader.java, * java/util/SimpleTimeZone.java, * java/util/StringTokenizer.java, * java/util/TimeZone.java, * java/util/Timer.java, * java/util/TreeMap.java, * java/util/TreeSet.java, * java/util/UUID.java, * java/util/UnknownFormatConversionException.java, * java/util/UnknownFormatFlagsException.java, * java/util/Vector.java, * java/util/WeakHashMap.java, * java/util/concurrent/CopyOnWriteArrayList.java, * java/util/jar/Attributes.java, * java/util/jar/JarEntry.java, * java/util/jar/JarFile.java, * java/util/jar/JarInputStream.java, * java/util/jar/JarOutputStream.java, * java/util/jar/Manifest.java, * java/util/logging/ConsoleHandler.java, * java/util/logging/ErrorManager.java, * java/util/logging/FileHandler.java, * java/util/logging/Formatter.java, * java/util/logging/Handler.java, * java/util/logging/Level.java, * java/util/logging/LogManager.java, * java/util/logging/LogRecord.java, * java/util/logging/Logger.java, * java/util/logging/LoggingMXBean.java, * java/util/logging/LoggingPermission.java, * java/util/logging/MemoryHandler.java, * java/util/logging/SocketHandler.java, * java/util/logging/StreamHandler.java, * java/util/logging/XMLFormatter.java, * java/util/prefs/AbstractPreferences.java, * java/util/prefs/NodeChangeEvent.java, * java/util/prefs/NodeChangeListener.java, * java/util/prefs/PreferenceChangeEvent.java, * java/util/prefs/PreferenceChangeListener.java, * java/util/prefs/Preferences.java, * java/util/prefs/PreferencesFactory.java, * java/util/regex/MatchResult.java, * java/util/regex/Pattern.java, * java/util/regex/PatternSyntaxException.java, * java/util/spi/LocaleNameProvider.java, * java/util/spi/TimeZoneNameProvider.java, * java/util/zip/Adler32.java, * java/util/zip/CRC32.java, * java/util/zip/CheckedInputStream.java, * java/util/zip/CheckedOutputStream.java, * java/util/zip/Deflater.java, * java/util/zip/DeflaterEngine.java, * java/util/zip/DeflaterHuffman.java, * java/util/zip/DeflaterOutputStream.java, * java/util/zip/DeflaterPending.java, * java/util/zip/GZIPInputStream.java, * java/util/zip/GZIPOutputStream.java, * java/util/zip/Inflater.java, * java/util/zip/InflaterDynHeader.java, * java/util/zip/InflaterHuffmanTree.java, * java/util/zip/InflaterInputStream.java, * java/util/zip/OutputWindow.java, * java/util/zip/PendingBuffer.java, * java/util/zip/StreamManipulator.java, * java/util/zip/ZipConstants.java, * java/util/zip/ZipEntry.java, * java/util/zip/ZipFile.java, * java/util/zip/ZipInputStream.java, * java/util/zip/ZipOutputStream.java, * javax/accessibility/AccessibleExtendedText.java, * javax/accessibility/AccessibleRelation.java, * javax/accessibility/AccessibleRole.java, * javax/accessibility/AccessibleState.java, * javax/activation/ActivationDataFlavor.java, * javax/activation/CommandInfo.java, * javax/activation/CommandMap.java, * javax/activation/CommandObject.java, * javax/activation/DataContentHandler.java, * javax/activation/DataContentHandlerFactory.java, * javax/activation/DataHandler.java, * javax/activation/DataHandlerDataSource.java, * javax/activation/DataSource.java, * javax/activation/DataSourceDataContentHandler.java, * javax/activation/FileDataSource.java, * javax/activation/FileTypeMap.java, * javax/activation/MailcapCommandMap.java, * javax/activation/MimeType.java, * javax/activation/MimeTypeParameterList.java, * javax/activation/MimeTypeParseException.java, * javax/activation/MimetypesFileTypeMap.java, * javax/activation/ObjectDataContentHandler.java, * javax/activation/URLDataSource.java, * javax/activation/UnsupportedDataTypeException.java, * javax/crypto/Cipher.java, * javax/crypto/CipherOutputStream.java, * javax/crypto/ExemptionMechanism.java, * javax/crypto/KeyAgreement.java, * javax/crypto/KeyGenerator.java, * javax/crypto/Mac.java, * javax/crypto/MacSpi.java, * javax/crypto/SecretKeyFactory.java, * javax/crypto/spec/PBEKeySpec.java, * javax/imageio/IIOImage.java, * javax/imageio/IIOParam.java, * javax/imageio/IIOParamController.java, * javax/imageio/ImageIO.java, * javax/imageio/ImageReadParam.java, * javax/imageio/ImageReader.java, * javax/imageio/ImageTranscoder.java, * javax/imageio/ImageTypeSpecifier.java, * javax/imageio/ImageWriteParam.java, * javax/imageio/ImageWriter.java, * javax/imageio/event/IIOReadProgressListener.java, * javax/imageio/event/IIOReadUpdateListener.java, * javax/imageio/event/IIOWriteProgressListener.java, * javax/imageio/metadata/IIOInvalidTreeException.java, * javax/imageio/metadata/IIOMetadata.java, * javax/imageio/metadata/IIOMetadataFormatImpl.java, * javax/imageio/metadata/IIOMetadataNode.java, * javax/imageio/plugins/bmp/BMPImageWriteParam.java, * javax/imageio/plugins/jpeg/JPEGHuffmanTable.java, * javax/imageio/spi/IIORegistry.java, * javax/imageio/spi/ImageReaderSpi.java, * javax/imageio/spi/ImageWriterSpi.java, * javax/imageio/spi/RegisterableService.java, * javax/imageio/spi/ServiceRegistry.java, * javax/imageio/stream/FileCacheImageInputStream.java, * javax/imageio/stream/FileCacheImageOutputStream.java, * javax/imageio/stream/FileImageInputStream.java, * javax/imageio/stream/FileImageOutputStream.java, * javax/imageio/stream/ImageInputStream.java, * javax/imageio/stream/ImageInputStreamImpl.java, * javax/imageio/stream/ImageOutputStreamImpl.java, * javax/imageio/stream/MemoryCacheImageInputStream.java, * javax/imageio/stream/MemoryCacheImageOutputStream.java, * javax/management/Attribute.java, * javax/management/AttributeChangeNotification.java, * javax/management/AttributeChangeNotificationFilter.java, * javax/management/AttributeList.java, * javax/management/AttributeNotFoundException.java, * javax/management/AttributeValueExp.java, * javax/management/BadAttributeValueExpException.java, * javax/management/BadBinaryOpValueExpException.java, * javax/management/BadStringOperationException.java, * javax/management/DefaultLoaderRepository.java, * javax/management/Descriptor.java, * javax/management/DynamicMBean.java, * javax/management/InstanceAlreadyExistsException.java, * javax/management/InstanceNotFoundException.java, * javax/management/IntrospectionException.java, * javax/management/InvalidApplicationException.java, * javax/management/InvalidAttributeValueException.java, * javax/management/JMException.java, * javax/management/JMRuntimeException.java, * javax/management/JMX.java, * javax/management/ListenerNotFoundException.java, * javax/management/MBeanAttributeInfo.java, * javax/management/MBeanConstructorInfo.java, * javax/management/MBeanException.java, * javax/management/MBeanFeatureInfo.java, * javax/management/MBeanInfo.java, * javax/management/MBeanNotificationInfo.java, * javax/management/MBeanOperationInfo.java, * javax/management/MBeanParameterInfo.java, * javax/management/MBeanPermission.java, * javax/management/MBeanRegistrationException.java, * javax/management/MBeanServer.java, * javax/management/MBeanServerBuilder.java, * javax/management/MBeanServerConnection.java, * javax/management/MBeanServerDelegate.java, * javax/management/MBeanServerFactory.java, * javax/management/MBeanServerInvocationHandler.java, * javax/management/MBeanServerNotification.java, * javax/management/MBeanServerPermission.java, * javax/management/MBeanTrustPermission.java, * javax/management/MalformedObjectNameException.java, * javax/management/NotCompliantMBeanException.java, * javax/management/Notification.java, * javax/management/NotificationBroadcaster.java, * javax/management/NotificationBroadcasterSupport.java, * javax/management/NotificationEmitter.java, * javax/management/NotificationFilter.java, * javax/management/NotificationFilterSupport.java, * javax/management/NotificationListener.java, * javax/management/ObjectInstance.java, * javax/management/ObjectName.java, * javax/management/OperationsException.java, * javax/management/PersistentMBean.java, * javax/management/Query.java, * javax/management/QueryEval.java, * javax/management/QueryExp.java, * javax/management/ReflectionException.java, * javax/management/RuntimeErrorException.java, * javax/management/RuntimeMBeanException.java, * javax/management/RuntimeOperationsException.java, * javax/management/ServiceNotFoundException.java, * javax/management/StandardMBean.java, * javax/management/StringValueExp.java, * javax/management/ValueExp.java, * javax/management/loading/ClassLoaderRepository.java, * javax/management/openmbean/ArrayType.java, * javax/management/openmbean/CompositeData.java, * javax/management/openmbean/CompositeDataInvocationHandler.java, * javax/management/openmbean/CompositeDataSupport.java, * javax/management/openmbean/CompositeType.java, * javax/management/openmbean/InvalidKeyException.java, * javax/management/openmbean/InvalidOpenTypeException.java, * javax/management/openmbean/KeyAlreadyExistsException.java, * javax/management/openmbean/OpenDataException.java, * javax/management/openmbean/OpenMBeanAttributeInfo.java, * javax/management/openmbean/OpenMBeanAttributeInfoSupport.java, * javax/management/openmbean/OpenMBeanConstructorInfo.java, * javax/management/openmbean/OpenMBeanConstructorInfoSupport.java, * javax/management/openmbean/OpenMBeanInfo.java, * javax/management/openmbean/OpenMBeanInfoSupport.java, * javax/management/openmbean/OpenMBeanOperationInfo.java, * javax/management/openmbean/OpenMBeanOperationInfoSupport.java, * javax/management/openmbean/OpenMBeanParameterInfo.java, * javax/management/openmbean/OpenMBeanParameterInfoSupport.java, * javax/management/openmbean/OpenType.java, * javax/management/openmbean/SimpleType.java, * javax/management/openmbean/TabularData.java, * javax/management/openmbean/TabularDataSupport.java, * javax/management/openmbean/TabularType.java, * javax/management/remote/NotificationResult.java, * javax/management/remote/TargetedNotification.java, * javax/management/remote/rmi/RMIConnection.java, * javax/naming/AuthenticationException.java, * javax/naming/AuthenticationNotSupportedException.java, * javax/naming/BinaryRefAddr.java, * javax/naming/Binding.java, * javax/naming/CannotProceedException.java, * javax/naming/CommunicationException.java, * javax/naming/CompositeName.java, * javax/naming/CompoundName.java, * javax/naming/ConfigurationException.java, * javax/naming/Context.java, * javax/naming/ContextNotEmptyException.java, * javax/naming/InitialContext.java, * javax/naming/InsufficientResourcesException.java, * javax/naming/InterruptedNamingException.java, * javax/naming/InvalidNameException.java, * javax/naming/LimitExceededException.java, * javax/naming/LinkException.java, * javax/naming/LinkLoopException.java, * javax/naming/MalformedLinkException.java, * javax/naming/Name.java, * javax/naming/NameAlreadyBoundException.java, * javax/naming/NameClassPair.java, * javax/naming/NameNotFoundException.java, * javax/naming/NameParser.java, * javax/naming/NamingEnumeration.java, * javax/naming/NamingException.java, * javax/naming/NamingSecurityException.java, * javax/naming/NoInitialContextException.java, * javax/naming/NoPermissionException.java, * javax/naming/NotContextException.java, * javax/naming/PartialResultException.java, * javax/naming/RefAddr.java, * javax/naming/Reference.java, * javax/naming/Referenceable.java, * javax/naming/ReferralException.java, * javax/naming/ServiceUnavailableException.java, * javax/naming/SizeLimitExceededException.java, * javax/naming/StringRefAddr.java, * javax/naming/TimeLimitExceededException.java, * javax/naming/directory/AttributeInUseException.java, * javax/naming/directory/Attributes.java, * javax/naming/directory/BasicAttribute.java, * javax/naming/directory/BasicAttributes.java, * javax/naming/directory/InitialDirContext.java, * javax/naming/directory/ModificationItem.java, * javax/naming/directory/SearchControls.java, * javax/naming/directory/SearchResult.java, * javax/naming/event/EventContext.java, * javax/naming/event/NamespaceChangeListener.java, * javax/naming/event/NamingEvent.java, * javax/naming/event/NamingExceptionEvent.java, * javax/naming/event/NamingListener.java, * javax/naming/event/ObjectChangeListener.java, * javax/naming/ldap/Control.java, * javax/naming/ldap/ControlFactory.java, * javax/naming/ldap/ExtendedRequest.java, * javax/naming/ldap/ExtendedResponse.java, * javax/naming/ldap/HasControls.java, * javax/naming/ldap/InitialLdapContext.java, * javax/naming/ldap/LdapContext.java, * javax/naming/ldap/LdapReferralException.java, * javax/naming/ldap/StartTlsRequest.java, * javax/naming/ldap/UnsolicitedNotification.java, * javax/naming/ldap/UnsolicitedNotificationEvent.java, * javax/naming/ldap/UnsolicitedNotificationListener.java, * javax/naming/spi/DirObjectFactory.java, * javax/naming/spi/DirStateFactory.java, * javax/naming/spi/DirectoryManager.java, * javax/naming/spi/InitialContextFactory.java, * javax/naming/spi/InitialContextFactoryBuilder.java, * javax/naming/spi/NamingManager.java, * javax/naming/spi/ObjectFactory.java, * javax/naming/spi/ObjectFactoryBuilder.java, * javax/naming/spi/ResolveResult.java, * javax/naming/spi/Resolver.java, * javax/naming/spi/StateFactory.java, * javax/net/ssl/CertPathTrustManagerParameters.java, * javax/net/ssl/KeyManagerFactory.java, * javax/net/ssl/KeyStoreBuilderParameters.java, * javax/net/ssl/SSLContext.java, * javax/net/ssl/SSLEngine.java, * javax/net/ssl/SSLEngineResult.java, * javax/net/ssl/SSLException.java, * javax/net/ssl/TrustManagerFactory.java, * javax/net/ssl/X509ExtendedKeyManager.java, * javax/print/AttributeException.java, * javax/print/CancelablePrintJob.java, * javax/print/Doc.java, * javax/print/DocFlavor.java, * javax/print/DocPrintJob.java, * javax/print/FlavorException.java, * javax/print/MultiDoc.java, * javax/print/MultiDocPrintJob.java, * javax/print/MultiDocPrintService.java, * javax/print/PrintException.java, * javax/print/PrintService.java, * javax/print/PrintServiceLookup.java, * javax/print/ServiceUI.java, * javax/print/ServiceUIFactory.java, * javax/print/SimpleDoc.java, * javax/print/StreamPrintService.java, * javax/print/StreamPrintServiceFactory.java, * javax/print/URIException.java, * javax/print/attribute/Attribute.java, * javax/print/attribute/AttributeSet.java, * javax/print/attribute/AttributeSetUtilities.java, * javax/print/attribute/DateTimeSyntax.java, * javax/print/attribute/DocAttribute.java, * javax/print/attribute/DocAttributeSet.java, * javax/print/attribute/EnumSyntax.java, * javax/print/attribute/HashAttributeSet.java, * javax/print/attribute/HashDocAttributeSet.java, * javax/print/attribute/HashPrintJobAttributeSet.java, * javax/print/attribute/HashPrintRequestAttributeSet.java, * javax/print/attribute/HashPrintServiceAttributeSet.java, * javax/print/attribute/IntegerSyntax.java, * javax/print/attribute/PrintJobAttribute.java, * javax/print/attribute/PrintJobAttributeSet.java, * javax/print/attribute/PrintRequestAttribute.java, * javax/print/attribute/PrintRequestAttributeSet.java, * javax/print/attribute/PrintServiceAttribute.java, * javax/print/attribute/PrintServiceAttributeSet.java, * javax/print/attribute/ResolutionSyntax.java, * javax/print/attribute/SetOfIntegerSyntax.java, * javax/print/attribute/Size2DSyntax.java, * javax/print/attribute/SupportedValuesAttribute.java, * javax/print/attribute/TextSyntax.java, * javax/print/attribute/URISyntax.java, * javax/print/attribute/UnmodifiableSetException.java, * javax/print/attribute/standard/Chromaticity.java, * javax/print/attribute/standard/ColorSupported.java, * javax/print/attribute/standard/Compression.java, * javax/print/attribute/standard/Copies.java, * javax/print/attribute/standard/CopiesSupported.java, * javax/print/attribute/standard/DateTimeAtCompleted.java, * javax/print/attribute/standard/DateTimeAtCreation.java, * javax/print/attribute/standard/DateTimeAtProcessing.java, * javax/print/attribute/standard/Destination.java, * javax/print/attribute/standard/DocumentName.java, * javax/print/attribute/standard/Fidelity.java, * javax/print/attribute/standard/Finishings.java, * javax/print/attribute/standard/JobHoldUntil.java, * javax/print/attribute/standard/JobImpressions.java, * javax/print/attribute/standard/JobImpressionsCompleted.java, * javax/print/attribute/standard/JobImpressionsSupported.java, * javax/print/attribute/standard/JobKOctets.java, * javax/print/attribute/standard/JobKOctetsProcessed.java, * javax/print/attribute/standard/JobKOctetsSupported.java, * javax/print/attribute/standard/JobMediaSheets.java, * javax/print/attribute/standard/JobMediaSheetsCompleted.java, * javax/print/attribute/standard/JobMediaSheetsSupported.java, * javax/print/attribute/standard/JobMessageFromOperator.java, * javax/print/attribute/standard/JobName.java, * javax/print/attribute/standard/JobOriginatingUserName.java, * javax/print/attribute/standard/JobPriority.java, * javax/print/attribute/standard/JobPrioritySupported.java, * javax/print/attribute/standard/JobSheets.java, * javax/print/attribute/standard/JobState.java, * javax/print/attribute/standard/JobStateReason.java, * javax/print/attribute/standard/JobStateReasons.java, * javax/print/attribute/standard/Media.java, * javax/print/attribute/standard/MediaName.java, * javax/print/attribute/standard/MediaPrintableArea.java, * javax/print/attribute/standard/MediaSize.java, * javax/print/attribute/standard/MediaSizeName.java, * javax/print/attribute/standard/MediaTray.java, * javax/print/attribute/standard/MultipleDocumentHandling.java, * javax/print/attribute/standard/NumberOfDocuments.java, * javax/print/attribute/standard/NumberOfInterveningJobs.java, * javax/print/attribute/standard/NumberUp.java, * javax/print/attribute/standard/NumberUpSupported.java, * javax/print/attribute/standard/OrientationRequested.java, * javax/print/attribute/standard/OutputDeviceAssigned.java, * javax/print/attribute/standard/PDLOverrideSupported.java, * javax/print/attribute/standard/PageRanges.java, * javax/print/attribute/standard/PagesPerMinute.java, * javax/print/attribute/standard/PagesPerMinuteColor.java, * javax/print/attribute/standard/PresentationDirection.java, * javax/print/attribute/standard/PrintQuality.java, * javax/print/attribute/standard/PrinterInfo.java, * javax/print/attribute/standard/PrinterIsAcceptingJobs.java, * javax/print/attribute/standard/PrinterLocation.java, * javax/print/attribute/standard/PrinterMakeAndModel.java, * javax/print/attribute/standard/PrinterMessageFromOperator.java, * javax/print/attribute/standard/PrinterMoreInfo.java, * javax/print/attribute/standard/PrinterMoreInfoManufacturer.java, * javax/print/attribute/standard/PrinterName.java, * javax/print/attribute/standard/PrinterResolution.java, * javax/print/attribute/standard/PrinterState.java, * javax/print/attribute/standard/PrinterStateReason.java, * javax/print/attribute/standard/PrinterStateReasons.java, * javax/print/attribute/standard/PrinterURI.java, * javax/print/attribute/standard/QueuedJobCount.java, * javax/print/attribute/standard/ReferenceUriSchemesSupported.java, * javax/print/attribute/standard/RequestingUserName.java, * javax/print/attribute/standard/Severity.java, * javax/print/attribute/standard/SheetCollate.java, * javax/print/attribute/standard/Sides.java, * javax/print/event/PrintEvent.java, * javax/print/event/PrintJobAdapter.java, * javax/print/event/PrintJobAttributeEvent.java, * javax/print/event/PrintJobAttributeListener.java, * javax/print/event/PrintJobEvent.java, * javax/print/event/PrintJobListener.java, * javax/print/event/PrintServiceAttributeEvent.java, * javax/print/event/PrintServiceAttributeListener.java, * javax/rmi/CORBA/ClassDesc.java, * javax/rmi/CORBA/PortableRemoteObjectDelegate.java, * javax/rmi/CORBA/Stub.java, * javax/rmi/CORBA/StubDelegate.java, * javax/rmi/CORBA/Tie.java, * javax/rmi/CORBA/Util.java, * javax/rmi/CORBA/UtilDelegate.java, * javax/rmi/CORBA/ValueHandler.java, * javax/rmi/CORBA/ValueHandlerMultiFormat.java, * javax/rmi/PortableRemoteObject.java, * javax/rmi/ssl/SslRMIClientSocketFactory.java, * javax/rmi/ssl/SslRMIServerSocketFactory.java, * javax/security/auth/Subject.java, * javax/security/auth/callback/ChoiceCallback.java, * javax/security/auth/callback/ConfirmationCallback.java, * javax/security/auth/callback/NameCallback.java, * javax/security/auth/callback/PasswordCallback.java, * javax/security/auth/callback/TextInputCallback.java, * javax/security/auth/callback/TextOutputCallback.java, * javax/security/auth/kerberos/DelegationPermission.java, * javax/security/auth/kerberos/KerberosKey.java, * javax/security/auth/kerberos/KerberosPrincipal.java, * javax/security/auth/kerberos/ServicePermission.java, * javax/security/auth/login/AccountNotFoundException.java, * javax/security/auth/login/AppConfigurationEntry.java, * javax/security/auth/login/LoginContext.java, * javax/security/sasl/Sasl.java, * javax/sound/midi/ControllerEventListener.java, * javax/sound/midi/Instrument.java, * javax/sound/midi/InvalidMidiDataException.java, * javax/sound/midi/MetaEventListener.java, * javax/sound/midi/MetaMessage.java, * javax/sound/midi/MidiChannel.java, * javax/sound/midi/MidiDevice.java, * javax/sound/midi/MidiEvent.java, * javax/sound/midi/MidiFileFormat.java, * javax/sound/midi/MidiMessage.java, * javax/sound/midi/MidiSystem.java, * javax/sound/midi/MidiUnavailableException.java, * javax/sound/midi/Patch.java, * javax/sound/midi/Receiver.java, * javax/sound/midi/Sequence.java, * javax/sound/midi/Sequencer.java, * javax/sound/midi/ShortMessage.java, * javax/sound/midi/Soundbank.java, * javax/sound/midi/SoundbankResource.java, * javax/sound/midi/Synthesizer.java, * javax/sound/midi/SysexMessage.java, * javax/sound/midi/Track.java, * javax/sound/midi/Transmitter.java, * javax/sound/midi/VoiceStatus.java, * javax/sound/midi/spi/MidiDeviceProvider.java, * javax/sound/midi/spi/MidiFileReader.java, * javax/sound/midi/spi/MidiFileWriter.java, * javax/sound/midi/spi/SoundbankReader.java, * javax/sound/sampled/AudioFileFormat.java, * javax/sound/sampled/AudioFormat.java, * javax/sound/sampled/AudioInputStream.java, * javax/sound/sampled/AudioPermission.java, * javax/sound/sampled/AudioSystem.java, * javax/sound/sampled/BooleanControl.java, * javax/sound/sampled/Clip.java, * javax/sound/sampled/CompoundControl.java, * javax/sound/sampled/DataLine.java, * javax/sound/sampled/EnumControl.java, * javax/sound/sampled/FloatControl.java, * javax/sound/sampled/Line.java, * javax/sound/sampled/LineEvent.java, * javax/sound/sampled/LineUnavailableException.java, * javax/sound/sampled/Mixer.java, * javax/sound/sampled/Port.java, * javax/sound/sampled/ReverbType.java, * javax/sound/sampled/UnsupportedAudioFileException.java, * javax/sound/sampled/spi/AudioFileReader.java, * javax/sound/sampled/spi/AudioFileWriter.java, * javax/sound/sampled/spi/FormatConversionProvider.java, * javax/sql/ConnectionEvent.java, * javax/sql/ConnectionEventListener.java, * javax/sql/ConnectionPoolDataSource.java, * javax/sql/DataSource.java, * javax/sql/PooledConnection.java, * javax/sql/RowSet.java, * javax/sql/RowSetEvent.java, * javax/sql/RowSetInternal.java, * javax/sql/RowSetListener.java, * javax/sql/RowSetMetaData.java, * javax/sql/RowSetReader.java, * javax/sql/RowSetWriter.java, * javax/sql/XAConnection.java, * javax/sql/XADataSource.java, * javax/swing/AbstractAction.java, * javax/swing/AbstractButton.java, * javax/swing/AbstractCellEditor.java, * javax/swing/AbstractListModel.java, * javax/swing/AbstractSpinnerModel.java, * javax/swing/Action.java, * javax/swing/BorderFactory.java, * javax/swing/BoundedRangeModel.java, * javax/swing/Box.java, * javax/swing/BoxLayout.java, * javax/swing/ButtonGroup.java, * javax/swing/ButtonModel.java, * javax/swing/CellEditor.java, * javax/swing/CellRendererPane.java, * javax/swing/ComboBoxModel.java, * javax/swing/ComponentInputMap.java, * javax/swing/DebugGraphics.java, * javax/swing/DefaultBoundedRangeModel.java, * javax/swing/DefaultButtonModel.java, * javax/swing/DefaultCellEditor.java, * javax/swing/DefaultComboBoxModel.java, * javax/swing/DefaultDesktopManager.java, * javax/swing/DefaultFocusManager.java, * javax/swing/DefaultListModel.java, * javax/swing/DefaultListSelectionModel.java, * javax/swing/DefaultSingleSelectionModel.java, * javax/swing/FocusManager.java, * javax/swing/GrayFilter.java, * javax/swing/Icon.java, * javax/swing/ImageIcon.java, * javax/swing/InputMap.java, * javax/swing/InternalFrameFocusTraversalPolicy.java, * javax/swing/JApplet.java, * javax/swing/JButton.java, * javax/swing/JCheckBox.java, * javax/swing/JCheckBoxMenuItem.java, * javax/swing/JComboBox.java, * javax/swing/JComponent.java, * javax/swing/JDesktopPane.java, * javax/swing/JDialog.java, * javax/swing/JEditorPane.java, * javax/swing/JFileChooser.java, * javax/swing/JFormattedTextField.java, * javax/swing/JFrame.java, * javax/swing/JInternalFrame.java, * javax/swing/JLabel.java, * javax/swing/JLayeredPane.java, * javax/swing/JList.java, * javax/swing/JMenu.java, * javax/swing/JMenuBar.java, * javax/swing/JMenuItem.java, * javax/swing/JOptionPane.java, * javax/swing/JPanel.java, * javax/swing/JPasswordField.java, * javax/swing/JPopupMenu.java, * javax/swing/JProgressBar.java, * javax/swing/JRadioButton.java, * javax/swing/JRadioButtonMenuItem.java, * javax/swing/JRootPane.java, * javax/swing/JScrollBar.java, * javax/swing/JScrollPane.java, * javax/swing/JSeparator.java, * javax/swing/JSlider.java, * javax/swing/JSpinner.java, * javax/swing/JSplitPane.java, * javax/swing/JTabbedPane.java, * javax/swing/JTable.java, * javax/swing/JTextArea.java, * javax/swing/JTextField.java, * javax/swing/JTextPane.java, * javax/swing/JToggleButton.java, * javax/swing/JToolBar.java, * javax/swing/JToolTip.java, * javax/swing/JTree.java, * javax/swing/JViewport.java, * javax/swing/JWindow.java, * javax/swing/KeyStroke.java, * javax/swing/KeyboardManager.java, * javax/swing/LayoutFocusTraversalPolicy.java, * javax/swing/ListCellRenderer.java, * javax/swing/ListSelectionModel.java, * javax/swing/LookAndFeel.java, * javax/swing/MenuSelectionManager.java, * javax/swing/OverlayLayout.java, * javax/swing/Popup.java, * javax/swing/PopupFactory.java, * javax/swing/ProgressMonitor.java, * javax/swing/ProgressMonitorInputStream.java, * javax/swing/Renderer.java, * javax/swing/RepaintManager.java, * javax/swing/ScrollPaneLayout.java, * javax/swing/Scrollable.java, * javax/swing/SingleSelectionModel.java, * javax/swing/SizeRequirements.java, * javax/swing/SizeSequence.java, * javax/swing/SortingFocusTraversalPolicy.java, * javax/swing/SpinnerDateModel.java, * javax/swing/SpinnerListModel.java, * javax/swing/SpinnerModel.java, * javax/swing/SpinnerNumberModel.java, * javax/swing/Spring.java, * javax/swing/SpringLayout.java, * javax/swing/SwingConstants.java, * javax/swing/SwingUtilities.java, * javax/swing/Timer.java, * javax/swing/ToolTipManager.java, * javax/swing/TransferHandler.java, * javax/swing/UIDefaults.java, * javax/swing/UIManager.java, * javax/swing/UnsupportedLookAndFeelException.java, * javax/swing/ViewportLayout.java, * javax/swing/WindowConstants.java, * javax/swing/border/AbstractBorder.java, * javax/swing/border/BevelBorder.java, * javax/swing/border/Border.java, * javax/swing/border/CompoundBorder.java, * javax/swing/border/EmptyBorder.java, * javax/swing/border/EtchedBorder.java, * javax/swing/border/LineBorder.java, * javax/swing/border/MatteBorder.java, * javax/swing/border/SoftBevelBorder.java, * javax/swing/border/TitledBorder.java, * javax/swing/colorchooser/AbstractColorChooserPanel.java, * javax/swing/colorchooser/ColorChooserComponentFactory.java, * javax/swing/colorchooser/ColorSelectionModel.java, * javax/swing/colorchooser/DefaultColorSelectionModel.java, * javax/swing/colorchooser/DefaultHSBChooserPanel.java, * javax/swing/colorchooser/DefaultRGBChooserPanel.java, * javax/swing/colorchooser/DefaultSwatchChooserPanel.java, * javax/swing/event/AncestorEvent.java, * javax/swing/event/AncestorListener.java, * javax/swing/event/CaretEvent.java, * javax/swing/event/CaretListener.java, * javax/swing/event/CellEditorListener.java, * javax/swing/event/ChangeEvent.java, * javax/swing/event/ChangeListener.java, * javax/swing/event/DocumentEvent.java, * javax/swing/event/DocumentListener.java, * javax/swing/event/EventListenerList.java, * javax/swing/event/HyperlinkEvent.java, * javax/swing/event/HyperlinkListener.java, * javax/swing/event/InternalFrameAdapter.java, * javax/swing/event/InternalFrameEvent.java, * javax/swing/event/InternalFrameListener.java, * javax/swing/event/ListDataEvent.java, * javax/swing/event/ListDataListener.java, * javax/swing/event/ListSelectionEvent.java, * javax/swing/event/ListSelectionListener.java, * javax/swing/event/MenuDragMouseEvent.java, * javax/swing/event/MenuDragMouseListener.java, * javax/swing/event/MenuEvent.java, * javax/swing/event/MenuKeyEvent.java, * javax/swing/event/MenuKeyListener.java, * javax/swing/event/MenuListener.java, * javax/swing/event/MouseInputListener.java, * javax/swing/event/PopupMenuEvent.java, * javax/swing/event/PopupMenuListener.java, * javax/swing/event/SwingPropertyChangeSupport.java, * javax/swing/event/TableColumnModelEvent.java, * javax/swing/event/TableColumnModelListener.java, * javax/swing/event/TableModelEvent.java, * javax/swing/event/TableModelListener.java, * javax/swing/event/TreeExpansionEvent.java, * javax/swing/event/TreeExpansionListener.java, * javax/swing/event/TreeModelEvent.java, * javax/swing/event/TreeModelListener.java, * javax/swing/event/TreeSelectionEvent.java, * javax/swing/event/TreeSelectionListener.java, * javax/swing/event/TreeWillExpandListener.java, * javax/swing/event/UndoableEditEvent.java, * javax/swing/filechooser/FileFilter.java, * javax/swing/filechooser/FileSystemView.java, * javax/swing/filechooser/FileView.java, * javax/swing/filechooser/UnixFileSystemView.java, * javax/swing/plaf/BorderUIResource.java, * javax/swing/plaf/ColorChooserUI.java, * javax/swing/plaf/ColorUIResource.java, * javax/swing/plaf/ComboBoxUI.java, * javax/swing/plaf/ComponentInputMapUIResource.java, * javax/swing/plaf/ComponentUI.java, * javax/swing/plaf/FileChooserUI.java, * javax/swing/plaf/IconUIResource.java, * javax/swing/plaf/SplitPaneUI.java, * javax/swing/plaf/TabbedPaneUI.java, * javax/swing/plaf/TextUI.java, * javax/swing/plaf/UIResource.java, * javax/swing/plaf/basic/BasicArrowButton.java, * javax/swing/plaf/basic/BasicBorders.java, * javax/swing/plaf/basic/BasicButtonListener.java, * javax/swing/plaf/basic/BasicButtonUI.java, * javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java, * javax/swing/plaf/basic/BasicCheckBoxUI.java, * javax/swing/plaf/basic/BasicColorChooserUI.java, * javax/swing/plaf/basic/BasicComboBoxEditor.java, * javax/swing/plaf/basic/BasicComboBoxRenderer.java, * javax/swing/plaf/basic/BasicComboBoxUI.java, * javax/swing/plaf/basic/BasicComboPopup.java, * javax/swing/plaf/basic/BasicDesktopIconUI.java, * javax/swing/plaf/basic/BasicDesktopPaneUI.java, * javax/swing/plaf/basic/BasicDirectoryModel.java, * javax/swing/plaf/basic/BasicEditorPaneUI.java, * javax/swing/plaf/basic/BasicFileChooserUI.java, * javax/swing/plaf/basic/BasicFormattedTextFieldUI.java, * javax/swing/plaf/basic/BasicGraphicsUtils.java, * javax/swing/plaf/basic/BasicHTML.java, * javax/swing/plaf/basic/BasicIconFactory.java, * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java, * javax/swing/plaf/basic/BasicInternalFrameUI.java, * javax/swing/plaf/basic/BasicLabelUI.java, * javax/swing/plaf/basic/BasicListUI.java, * javax/swing/plaf/basic/BasicLookAndFeel.java, * javax/swing/plaf/basic/BasicMenuBarUI.java, * javax/swing/plaf/basic/BasicMenuItemUI.java, * javax/swing/plaf/basic/BasicMenuUI.java, * javax/swing/plaf/basic/BasicOptionPaneUI.java, * javax/swing/plaf/basic/BasicPanelUI.java, * javax/swing/plaf/basic/BasicPasswordFieldUI.java, * javax/swing/plaf/basic/BasicPopupMenuUI.java, * javax/swing/plaf/basic/BasicProgressBarUI.java, * javax/swing/plaf/basic/BasicRadioButtonUI.java, * javax/swing/plaf/basic/BasicRootPaneUI.java, * javax/swing/plaf/basic/BasicScrollBarUI.java, * javax/swing/plaf/basic/BasicScrollPaneUI.java, * javax/swing/plaf/basic/BasicSeparatorUI.java, * javax/swing/plaf/basic/BasicSliderUI.java, * javax/swing/plaf/basic/BasicSpinnerUI.java, * javax/swing/plaf/basic/BasicSplitPaneDivider.java, * javax/swing/plaf/basic/BasicSplitPaneUI.java, * javax/swing/plaf/basic/BasicTabbedPaneUI.java, * javax/swing/plaf/basic/BasicTableHeaderUI.java, * javax/swing/plaf/basic/BasicTableUI.java, * javax/swing/plaf/basic/BasicTextAreaUI.java, * javax/swing/plaf/basic/BasicTextFieldUI.java, * javax/swing/plaf/basic/BasicTextPaneUI.java, * javax/swing/plaf/basic/BasicTextUI.java, * javax/swing/plaf/basic/BasicToggleButtonUI.java, * javax/swing/plaf/basic/BasicToolBarUI.java, * javax/swing/plaf/basic/BasicToolTipUI.java, * javax/swing/plaf/basic/BasicTreeUI.java, * javax/swing/plaf/basic/BasicViewportUI.java, * javax/swing/plaf/metal/DefaultMetalTheme.java, * javax/swing/plaf/metal/MetalBorders.java, * javax/swing/plaf/metal/MetalButtonListener.java, * javax/swing/plaf/metal/MetalButtonUI.java, * javax/swing/plaf/metal/MetalCheckBoxIcon.java, * javax/swing/plaf/metal/MetalCheckBoxUI.java, * javax/swing/plaf/metal/MetalComboBoxButton.java, * javax/swing/plaf/metal/MetalComboBoxEditor.java, * javax/swing/plaf/metal/MetalComboBoxIcon.java, * javax/swing/plaf/metal/MetalComboBoxUI.java, * javax/swing/plaf/metal/MetalFileChooserUI.java, * javax/swing/plaf/metal/MetalIconFactory.java, * javax/swing/plaf/metal/MetalInternalFrameTitlePane.java, * javax/swing/plaf/metal/MetalInternalFrameUI.java, * javax/swing/plaf/metal/MetalLabelUI.java, * javax/swing/plaf/metal/MetalLookAndFeel.java, * javax/swing/plaf/metal/MetalMenuBarUI.java, * javax/swing/plaf/metal/MetalProgressBarUI.java, * javax/swing/plaf/metal/MetalRadioButtonUI.java, * javax/swing/plaf/metal/MetalRootPaneUI.java, * javax/swing/plaf/metal/MetalScrollBarUI.java, * javax/swing/plaf/metal/MetalScrollButton.java, * javax/swing/plaf/metal/MetalScrollPaneUI.java, * javax/swing/plaf/metal/MetalSeparatorUI.java, * javax/swing/plaf/metal/MetalSliderUI.java, * javax/swing/plaf/metal/MetalSplitPaneDivider.java, * javax/swing/plaf/metal/MetalSplitPaneUI.java, * javax/swing/plaf/metal/MetalTabbedPaneUI.java, * javax/swing/plaf/metal/MetalTextFieldUI.java, * javax/swing/plaf/metal/MetalTheme.java, * javax/swing/plaf/metal/MetalToggleButtonUI.java, * javax/swing/plaf/metal/MetalToolBarUI.java, * javax/swing/plaf/metal/MetalToolTipUI.java, * javax/swing/plaf/metal/MetalTreeUI.java, * javax/swing/plaf/metal/MetalUtils.java, * javax/swing/plaf/metal/OceanTheme.java, * javax/swing/plaf/multi/MultiButtonUI.java, * javax/swing/plaf/multi/MultiColorChooserUI.java, * javax/swing/plaf/multi/MultiComboBoxUI.java, * javax/swing/plaf/multi/MultiDesktopIconUI.java, * javax/swing/plaf/multi/MultiDesktopPaneUI.java, * javax/swing/plaf/multi/MultiFileChooserUI.java, * javax/swing/plaf/multi/MultiInternalFrameUI.java, * javax/swing/plaf/multi/MultiLabelUI.java, * javax/swing/plaf/multi/MultiListUI.java, * javax/swing/plaf/multi/MultiLookAndFeel.java, * javax/swing/plaf/multi/MultiMenuBarUI.java, * javax/swing/plaf/multi/MultiMenuItemUI.java, * javax/swing/plaf/multi/MultiOptionPaneUI.java, * javax/swing/plaf/multi/MultiPanelUI.java, * javax/swing/plaf/multi/MultiPopupMenuUI.java, * javax/swing/plaf/multi/MultiProgressBarUI.java, * javax/swing/plaf/multi/MultiRootPaneUI.java, * javax/swing/plaf/multi/MultiScrollBarUI.java, * javax/swing/plaf/multi/MultiScrollPaneUI.java, * javax/swing/plaf/multi/MultiSeparatorUI.java, * javax/swing/plaf/multi/MultiSliderUI.java, * javax/swing/plaf/multi/MultiSpinnerUI.java, * javax/swing/plaf/multi/MultiSplitPaneUI.java, * javax/swing/plaf/multi/MultiTabbedPaneUI.java, * javax/swing/plaf/multi/MultiTableHeaderUI.java, * javax/swing/plaf/multi/MultiTableUI.java, * javax/swing/plaf/multi/MultiTextUI.java, * javax/swing/plaf/multi/MultiToolBarUI.java, * javax/swing/plaf/multi/MultiToolTipUI.java, * javax/swing/plaf/multi/MultiTreeUI.java, * javax/swing/plaf/multi/MultiViewportUI.java, * javax/swing/plaf/synth/SynthGraphicsUtils.java, * javax/swing/plaf/synth/SynthLookAndFeel.java, * javax/swing/plaf/synth/SynthPainter.java, * javax/swing/table/AbstractTableModel.java, * javax/swing/table/DefaultTableCellRenderer.java, * javax/swing/table/DefaultTableColumnModel.java, * javax/swing/table/DefaultTableModel.java, * javax/swing/table/JTableHeader.java, * javax/swing/table/TableCellEditor.java, * javax/swing/table/TableCellRenderer.java, * javax/swing/table/TableColumn.java, * javax/swing/table/TableColumnModel.java, * javax/swing/table/TableModel.java, * javax/swing/text/AbstractDocument.java, * javax/swing/text/AbstractWriter.java, * javax/swing/text/AsyncBoxView.java, * javax/swing/text/AttributeSet.java, * javax/swing/text/BoxView.java, * javax/swing/text/Caret.java, * javax/swing/text/ComponentView.java, * javax/swing/text/CompositeView.java, * javax/swing/text/DefaultCaret.java, * javax/swing/text/DefaultEditorKit.java, * javax/swing/text/DefaultFormatter.java, * javax/swing/text/DefaultFormatterFactory.java, * javax/swing/text/DefaultHighlighter.java, * javax/swing/text/DefaultStyledDocument.java, * javax/swing/text/DocumentFilter.java, * javax/swing/text/EditorKit.java, * javax/swing/text/Element.java, * javax/swing/text/ElementIterator.java, * javax/swing/text/EmptyAttributeSet.java, * javax/swing/text/FieldView.java, * javax/swing/text/FlowView.java, * javax/swing/text/GapContent.java, * javax/swing/text/GlyphView.java, * javax/swing/text/Highlighter.java, * javax/swing/text/InternationalFormatter.java, * javax/swing/text/JTextComponent.java, * javax/swing/text/Keymap.java, * javax/swing/text/LayeredHighlighter.java, * javax/swing/text/LayoutQueue.java, * javax/swing/text/MaskFormatter.java, * javax/swing/text/MutableAttributeSet.java, * javax/swing/text/NavigationFilter.java, * javax/swing/text/NumberFormatter.java, * javax/swing/text/ParagraphView.java, * javax/swing/text/PasswordView.java, * javax/swing/text/PlainDocument.java, * javax/swing/text/PlainView.java, * javax/swing/text/Position.java, * javax/swing/text/Segment.java, * javax/swing/text/SimpleAttributeSet.java, * javax/swing/text/StringContent.java, * javax/swing/text/Style.java, * javax/swing/text/StyleConstants.java, * javax/swing/text/StyleContext.java, * javax/swing/text/StyledDocument.java, * javax/swing/text/StyledEditorKit.java, * javax/swing/text/TabExpander.java, * javax/swing/text/TabSet.java, * javax/swing/text/TabStop.java, * javax/swing/text/TabableView.java, * javax/swing/text/TableView.java, * javax/swing/text/TextAction.java, * javax/swing/text/Utilities.java, * javax/swing/text/View.java, * javax/swing/text/ViewFactory.java, * javax/swing/text/WrappedPlainView.java, * javax/swing/text/html/BRView.java, * javax/swing/text/html/BlockView.java, * javax/swing/text/html/CSS.java, * javax/swing/text/html/CSSBorder.java, * javax/swing/text/html/CSSParser.java, * javax/swing/text/html/FormView.java, * javax/swing/text/html/HRuleView.java, * javax/swing/text/html/HTMLDocument.java, * javax/swing/text/html/HTMLEditorKit.java, * javax/swing/text/html/HTMLWriter.java, * javax/swing/text/html/ImageView.java, * javax/swing/text/html/InlineView.java, * javax/swing/text/html/ListView.java, * javax/swing/text/html/MinimalHTMLWriter.java, * javax/swing/text/html/MultiAttributeSet.java, * javax/swing/text/html/MultiStyle.java, * javax/swing/text/html/ParagraphView.java, * javax/swing/text/html/StyleSheet.java, * javax/swing/text/html/TableView.java, * javax/swing/text/html/ViewAttributeSet.java, * javax/swing/text/html/parser/Entity.java, * javax/swing/text/html/parser/Parser.java, * javax/swing/text/rtf/RTFParser.java, * javax/swing/text/rtf/RTFScanner.java, * javax/swing/tree/AbstractLayoutCache.java, * javax/swing/tree/DefaultMutableTreeNode.java, * javax/swing/tree/DefaultTreeCellEditor.java, * javax/swing/tree/DefaultTreeCellRenderer.java, * javax/swing/tree/DefaultTreeModel.java, * javax/swing/tree/DefaultTreeSelectionModel.java, * javax/swing/tree/ExpandVetoException.java, * javax/swing/tree/FixedHeightLayoutCache.java, * javax/swing/tree/MutableTreeNode.java, * javax/swing/tree/RowMapper.java, * javax/swing/tree/TreeCellEditor.java, * javax/swing/tree/TreeCellRenderer.java, * javax/swing/tree/TreeNode.java, * javax/swing/tree/TreePath.java, * javax/swing/tree/TreeSelectionModel.java, * javax/swing/tree/VariableHeightLayoutCache.java, * javax/swing/undo/AbstractUndoableEdit.java, * javax/swing/undo/CompoundEdit.java, * javax/swing/undo/StateEdit.java, * javax/swing/undo/UndoManager.java, * javax/swing/undo/UndoableEdit.java, * javax/tools/FileObject.java, * javax/transaction/HeuristicCommitException.java, * javax/transaction/HeuristicMixedException.java, * javax/transaction/HeuristicRollbackException.java, * javax/transaction/InvalidTransactionException.java, * javax/transaction/NotSupportedException.java, * javax/transaction/RollbackException.java, * javax/transaction/Status.java, * javax/transaction/Synchronization.java, * javax/transaction/SystemException.java, * javax/transaction/Transaction.java, * javax/transaction/TransactionManager.java, * javax/transaction/TransactionRequiredException.java, * javax/transaction/TransactionRolledbackException.java, * javax/transaction/UserTransaction.java, * javax/transaction/xa/XAException.java, * javax/transaction/xa/XAResource.java, * javax/transaction/xa/Xid.java, * javax/xml/XMLConstants.java, * javax/xml/datatype/DatatypeConfigurationException.java, * javax/xml/datatype/DatatypeConstants.java, * javax/xml/datatype/DatatypeFactory.java, * javax/xml/datatype/Duration.java, * javax/xml/datatype/XMLGregorianCalendar.java, * javax/xml/namespace/NamespaceContext.java, * javax/xml/namespace/QName.java, * javax/xml/parsers/DocumentBuilder.java, * javax/xml/parsers/DocumentBuilderFactory.java, * javax/xml/parsers/FactoryConfigurationError.java, * javax/xml/parsers/ParserConfigurationException.java, * javax/xml/parsers/SAXParser.java, * javax/xml/parsers/SAXParserFactory.java, * javax/xml/stream/EventFilter.java, * javax/xml/stream/FactoryConfigurationError.java, * javax/xml/stream/Location.java, * javax/xml/stream/StreamFilter.java, * javax/xml/stream/XMLEventFactory.java, * javax/xml/stream/XMLEventReader.java, * javax/xml/stream/XMLEventWriter.java, * javax/xml/stream/XMLInputFactory.java, * javax/xml/stream/XMLOutputFactory.java, * javax/xml/stream/XMLReporter.java, * javax/xml/stream/XMLResolver.java, * javax/xml/stream/XMLStreamConstants.java, * javax/xml/stream/XMLStreamException.java, * javax/xml/stream/XMLStreamReader.java, * javax/xml/stream/XMLStreamWriter.java, * javax/xml/stream/events/Attribute.java, * javax/xml/stream/events/Characters.java, * javax/xml/stream/events/Comment.java, * javax/xml/stream/events/DTD.java, * javax/xml/stream/events/EndDocument.java, * javax/xml/stream/events/EndElement.java, * javax/xml/stream/events/EntityDeclaration.java, * javax/xml/stream/events/EntityReference.java, * javax/xml/stream/events/Namespace.java, * javax/xml/stream/events/NotationDeclaration.java, * javax/xml/stream/events/ProcessingInstruction.java, * javax/xml/stream/events/StartDocument.java, * javax/xml/stream/events/StartElement.java, * javax/xml/stream/events/XMLEvent.java, * javax/xml/stream/util/EventReaderDelegate.java, * javax/xml/stream/util/StreamReaderDelegate.java, * javax/xml/stream/util/XMLEventAllocator.java, * javax/xml/stream/util/XMLEventConsumer.java, * javax/xml/transform/ErrorListener.java, * javax/xml/transform/OutputKeys.java, * javax/xml/transform/Result.java, * javax/xml/transform/Source.java, * javax/xml/transform/SourceLocator.java, * javax/xml/transform/Templates.java, * javax/xml/transform/Transformer.java, * javax/xml/transform/TransformerConfigurationException.java, * javax/xml/transform/TransformerException.java, * javax/xml/transform/TransformerFactory.java, * javax/xml/transform/TransformerFactoryConfigurationError.java, * javax/xml/transform/URIResolver.java, * javax/xml/transform/dom/DOMLocator.java, * javax/xml/transform/dom/DOMResult.java, * javax/xml/transform/dom/DOMSource.java, * javax/xml/transform/sax/SAXResult.java, * javax/xml/transform/sax/SAXSource.java, * javax/xml/transform/sax/SAXTransformerFactory.java, * javax/xml/transform/sax/TemplatesHandler.java, * javax/xml/transform/sax/TransformerHandler.java, * javax/xml/transform/stream/StreamResult.java, * javax/xml/transform/stream/StreamSource.java, * javax/xml/validation/Schema.java, * javax/xml/validation/SchemaFactory.java, * javax/xml/validation/SchemaFactoryLoader.java, * javax/xml/validation/TypeInfoProvider.java, * javax/xml/validation/Validator.java, * javax/xml/validation/ValidatorHandler.java, * javax/xml/xpath/XPath.java, * javax/xml/xpath/XPathConstants.java, * javax/xml/xpath/XPathException.java, * javax/xml/xpath/XPathExpression.java, * javax/xml/xpath/XPathExpressionException.java, * javax/xml/xpath/XPathFactory.java, * javax/xml/xpath/XPathFactoryConfigurationException.java, * javax/xml/xpath/XPathFunction.java, * javax/xml/xpath/XPathFunctionException.java, * javax/xml/xpath/XPathFunctionResolver.java, * javax/xml/xpath/XPathVariableResolver.java, * org/omg/CORBA/ARG_IN.java, * org/omg/CORBA/ARG_INOUT.java, * org/omg/CORBA/ARG_OUT.java, * org/omg/CORBA/AnySeqHolder.java, * org/omg/CORBA/BAD_CONTEXT.java, * org/omg/CORBA/BAD_INV_ORDER.java, * org/omg/CORBA/BAD_OPERATION.java, * org/omg/CORBA/BAD_PARAM.java, * org/omg/CORBA/BAD_POLICY.java, * org/omg/CORBA/BAD_POLICY_TYPE.java, * org/omg/CORBA/BAD_POLICY_VALUE.java, * org/omg/CORBA/BAD_TYPECODE.java, * org/omg/CORBA/COMM_FAILURE.java, * org/omg/CORBA/CTX_RESTRICT_SCOPE.java, * org/omg/CORBA/CompletionStatus.java, * org/omg/CORBA/CompletionStatusHelper.java, * org/omg/CORBA/Context.java, * org/omg/CORBA/Current.java, * org/omg/CORBA/CurrentHelper.java, * org/omg/CORBA/CurrentHolder.java, * org/omg/CORBA/CustomMarshal.java, * org/omg/CORBA/CustomValue.java, * org/omg/CORBA/DATA_CONVERSION.java, * org/omg/CORBA/DataInputStream.java, * org/omg/CORBA/DataOutputStream.java, * org/omg/CORBA/DefinitionKind.java, * org/omg/CORBA/DefinitionKindHelper.java, * org/omg/CORBA/DynamicImplementation.java, * org/omg/CORBA/FREE_MEM.java, * org/omg/CORBA/FieldNameHelper.java, * org/omg/CORBA/IDLTypeHelper.java, * org/omg/CORBA/IMP_LIMIT.java, * org/omg/CORBA/INITIALIZE.java, * org/omg/CORBA/INTERNAL.java, * org/omg/CORBA/INTF_REPOS.java, * org/omg/CORBA/INVALID_TRANSACTION.java, * org/omg/CORBA/INV_FLAG.java, * org/omg/CORBA/INV_IDENT.java, * org/omg/CORBA/INV_OBJREF.java, * org/omg/CORBA/INV_POLICY.java, * org/omg/CORBA/IRObject.java, * org/omg/CORBA/IRObjectOperations.java, * org/omg/CORBA/IdentifierHelper.java, * org/omg/CORBA/LocalObject.java, * org/omg/CORBA/LongSeqHolder.java, * org/omg/CORBA/MARSHAL.java, * org/omg/CORBA/NO_IMPLEMENT.java, * org/omg/CORBA/NO_MEMORY.java, * org/omg/CORBA/NO_PERMISSION.java, * org/omg/CORBA/NO_RESOURCES.java, * org/omg/CORBA/NO_RESPONSE.java, * org/omg/CORBA/NVList.java, * org/omg/CORBA/OBJECT_NOT_EXIST.java, * org/omg/CORBA/OBJ_ADAPTER.java, * org/omg/CORBA/OMGVMCID.java, * org/omg/CORBA/ORB.java, * org/omg/CORBA/ObjectHelper.java, * org/omg/CORBA/ObjectHolder.java, * org/omg/CORBA/PERSIST_STORE.java, * org/omg/CORBA/ParameterMode.java, * org/omg/CORBA/ParameterModeHelper.java, * org/omg/CORBA/PolicyErrorCodeHelper.java, * org/omg/CORBA/PolicyErrorHelper.java, * org/omg/CORBA/PolicyErrorHolder.java, * org/omg/CORBA/PolicyHelper.java, * org/omg/CORBA/PolicyHolder.java, * org/omg/CORBA/PolicyListHelper.java, * org/omg/CORBA/PolicyListHolder.java, * org/omg/CORBA/PolicyOperations.java, * org/omg/CORBA/PolicyTypeHelper.java, * org/omg/CORBA/RepositoryIdHelper.java, * org/omg/CORBA/Request.java, * org/omg/CORBA/ServiceDetailHelper.java, * org/omg/CORBA/ServiceInformationHelper.java, * org/omg/CORBA/SetOverrideTypeHelper.java, * org/omg/CORBA/StringValueHelper.java, * org/omg/CORBA/StructMember.java, * org/omg/CORBA/StructMemberHelper.java, * org/omg/CORBA/SystemException.java, * org/omg/CORBA/TCKind.java, * org/omg/CORBA/TRANSACTION_REQUIRED.java, * org/omg/CORBA/TRANSACTION_ROLLEDBACK.java, * org/omg/CORBA/TRANSIENT.java, * org/omg/CORBA/TypeCode.java, * org/omg/CORBA/TypeCodePackage/BadKind.java, * org/omg/CORBA/TypeCodePackage/Bounds.java, * org/omg/CORBA/UNSUPPORTED_POLICY.java, * org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.java, * org/omg/CORBA/UnionMemberHelper.java, * org/omg/CORBA/UnknownUserException.java, * org/omg/CORBA/UnknownUserExceptionHolder.java, * org/omg/CORBA/ValueBaseHelper.java, * org/omg/CORBA/ValueBaseHolder.java, * org/omg/CORBA/ValueMemberHelper.java, * org/omg/CORBA/VersionSpecHelper.java, * org/omg/CORBA/VisibilityHelper.java, * org/omg/CORBA/WStringValueHelper.java, * org/omg/CORBA/WrongTransactionHelper.java, * org/omg/CORBA/WrongTransactionHolder.java, * org/omg/CORBA/_IDLTypeStub.java, * org/omg/CORBA/_PolicyStub.java, * org/omg/CORBA/portable/CustomValue.java, * org/omg/CORBA/portable/Delegate.java, * org/omg/CORBA/portable/ObjectImpl.java, * org/omg/CORBA/portable/StreamableValue.java, * org/omg/CORBA/portable/ValueBase.java, * org/omg/CORBA_2_3/ORB.java, * org/omg/CORBA_2_3/portable/Delegate.java, * org/omg/CORBA_2_3/portable/InputStream.java, * org/omg/CORBA_2_3/portable/ObjectImpl.java, * org/omg/CORBA_2_3/portable/OutputStream.java, * org/omg/CosNaming/BindingHelper.java, * org/omg/CosNaming/BindingIterator.java, * org/omg/CosNaming/BindingIteratorHelper.java, * org/omg/CosNaming/BindingIteratorOperations.java, * org/omg/CosNaming/BindingIteratorPOA.java, * org/omg/CosNaming/BindingType.java, * org/omg/CosNaming/BindingTypeHelper.java, * org/omg/CosNaming/IstringHelper.java, * org/omg/CosNaming/NameComponentHelper.java, * org/omg/CosNaming/NameHelper.java, * org/omg/CosNaming/NamingContext.java, * org/omg/CosNaming/NamingContextExtHelper.java, * org/omg/CosNaming/NamingContextExtPOA.java, * org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.java, * org/omg/CosNaming/NamingContextHelper.java, * org/omg/CosNaming/NamingContextPOA.java, * org/omg/CosNaming/NamingContextPackage/AlreadyBound.java, * org/omg/CosNaming/NamingContextPackage/CannotProceed.java, * org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.java, * org/omg/CosNaming/NamingContextPackage/InvalidName.java, * org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java, * org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java, * org/omg/CosNaming/NamingContextPackage/NotFound.java, * org/omg/CosNaming/NamingContextPackage/NotFoundHelper.java, * org/omg/CosNaming/NamingContextPackage/NotFoundReason.java, * org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java, * org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java, * org/omg/CosNaming/_BindingIteratorImplBase.java, * org/omg/CosNaming/_BindingIteratorStub.java, * org/omg/CosNaming/_NamingContextExtStub.java, * org/omg/CosNaming/_NamingContextStub.java, * org/omg/Dynamic/Parameter.java, * org/omg/DynamicAny/AnySeqHelper.java, * org/omg/DynamicAny/DynAny.java, * org/omg/DynamicAny/DynAnyFactoryHelper.java, * org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.java, * org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java, * org/omg/DynamicAny/DynAnyHelper.java, * org/omg/DynamicAny/DynAnyPackage/InvalidValue.java, * org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java, * org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java, * org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java, * org/omg/DynamicAny/DynAnySeqHelper.java, * org/omg/DynamicAny/DynArrayHelper.java, * org/omg/DynamicAny/DynEnumHelper.java, * org/omg/DynamicAny/DynFixedHelper.java, * org/omg/DynamicAny/DynSequenceHelper.java, * org/omg/DynamicAny/DynStructHelper.java, * org/omg/DynamicAny/DynUnionHelper.java, * org/omg/DynamicAny/DynValueBox.java, * org/omg/DynamicAny/DynValueCommonOperations.java, * org/omg/DynamicAny/DynValueHelper.java, * org/omg/DynamicAny/FieldNameHelper.java, * org/omg/DynamicAny/NameDynAnyPairHelper.java, * org/omg/DynamicAny/NameDynAnyPairSeqHelper.java, * org/omg/DynamicAny/NameValuePair.java, * org/omg/DynamicAny/NameValuePairHelper.java, * org/omg/DynamicAny/NameValuePairSeqHelper.java, * org/omg/DynamicAny/_DynAnyFactoryStub.java, * org/omg/DynamicAny/_DynAnyStub.java, * org/omg/DynamicAny/_DynArrayStub.java, * org/omg/DynamicAny/_DynEnumStub.java, * org/omg/DynamicAny/_DynFixedStub.java, * org/omg/DynamicAny/_DynSequenceStub.java, * org/omg/DynamicAny/_DynStructStub.java, * org/omg/DynamicAny/_DynUnionStub.java, * org/omg/DynamicAny/_DynValueStub.java, * org/omg/IOP/Codec.java, * org/omg/IOP/CodecFactory.java, * org/omg/IOP/CodecFactoryHelper.java, * org/omg/IOP/CodecFactoryOperations.java, * org/omg/IOP/CodecFactoryPackage/UnknownEncoding.java, * org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java, * org/omg/IOP/CodecOperations.java, * org/omg/IOP/CodecPackage/FormatMismatch.java, * org/omg/IOP/CodecPackage/FormatMismatchHelper.java, * org/omg/IOP/CodecPackage/InvalidTypeForEncoding.java, * org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java, * org/omg/IOP/CodecPackage/TypeMismatch.java, * org/omg/IOP/CodecPackage/TypeMismatchHelper.java, * org/omg/IOP/ComponentIdHelper.java, * org/omg/IOP/Encoding.java, * org/omg/IOP/IOR.java, * org/omg/IOP/IORHelper.java, * org/omg/IOP/IORHolder.java, * org/omg/IOP/MultipleComponentProfileHelper.java, * org/omg/IOP/MultipleComponentProfileHolder.java, * org/omg/IOP/ProfileIdHelper.java, * org/omg/IOP/ServiceContext.java, * org/omg/IOP/ServiceContextHelper.java, * org/omg/IOP/ServiceContextHolder.java, * org/omg/IOP/ServiceContextListHelper.java, * org/omg/IOP/ServiceContextListHolder.java, * org/omg/IOP/ServiceIdHelper.java, * org/omg/IOP/TaggedComponent.java, * org/omg/IOP/TaggedComponentHelper.java, * org/omg/IOP/TaggedComponentHolder.java, * org/omg/IOP/TaggedProfile.java, * org/omg/IOP/TaggedProfileHelper.java, * org/omg/IOP/TaggedProfileHolder.java, * org/omg/IOP/TransactionService.java, * org/omg/Messaging/SYNC_WITH_TRANSPORT.java, * org/omg/Messaging/SyncScopeHelper.java, * org/omg/PortableInterceptor/AdapterManagerIdHelper.java, * org/omg/PortableInterceptor/AdapterNameHelper.java, * org/omg/PortableInterceptor/AdapterStateHelper.java, * org/omg/PortableInterceptor/ClientRequestInfo.java, * org/omg/PortableInterceptor/ClientRequestInfoOperations.java, * org/omg/PortableInterceptor/ClientRequestInterceptor.java, * org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java, * org/omg/PortableInterceptor/Current.java, * org/omg/PortableInterceptor/CurrentHelper.java, * org/omg/PortableInterceptor/CurrentOperations.java, * org/omg/PortableInterceptor/ForwardRequest.java, * org/omg/PortableInterceptor/ForwardRequestHelper.java, * org/omg/PortableInterceptor/IORInfo.java, * org/omg/PortableInterceptor/IORInfoOperations.java, * org/omg/PortableInterceptor/IORInterceptor.java, * org/omg/PortableInterceptor/IORInterceptorOperations.java, * org/omg/PortableInterceptor/IORInterceptor_3_0.java, * org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java, * org/omg/PortableInterceptor/IORInterceptor_3_0Holder.java, * org/omg/PortableInterceptor/IORInterceptor_3_0Operations.java, * org/omg/PortableInterceptor/Interceptor.java, * org/omg/PortableInterceptor/InterceptorOperations.java, * org/omg/PortableInterceptor/InvalidSlot.java, * org/omg/PortableInterceptor/InvalidSlotHelper.java, * org/omg/PortableInterceptor/LOCATION_FORWARD.java, * org/omg/PortableInterceptor/ORBIdHelper.java, * org/omg/PortableInterceptor/ORBInitInfo.java, * org/omg/PortableInterceptor/ORBInitInfoOperations.java, * org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.java, * org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.java, * org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.java, * org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java, * org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.java, * org/omg/PortableInterceptor/ORBInitializer.java, * org/omg/PortableInterceptor/ORBInitializerOperations.java, * org/omg/PortableInterceptor/ObjectIdHelper.java, * org/omg/PortableInterceptor/ObjectReferenceFactory.java, * org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java, * org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.java, * org/omg/PortableInterceptor/ObjectReferenceTemplate.java, * org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java, * org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.java, * org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.java, * org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.java, * org/omg/PortableInterceptor/PolicyFactory.java, * org/omg/PortableInterceptor/PolicyFactoryOperations.java, * org/omg/PortableInterceptor/RequestInfo.java, * org/omg/PortableInterceptor/RequestInfoOperations.java, * org/omg/PortableInterceptor/SUCCESSFUL.java, * org/omg/PortableInterceptor/SYSTEM_EXCEPTION.java, * org/omg/PortableInterceptor/ServerIdHelper.java, * org/omg/PortableInterceptor/ServerRequestInfo.java, * org/omg/PortableInterceptor/ServerRequestInfoOperations.java, * org/omg/PortableInterceptor/ServerRequestInterceptor.java, * org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java, * org/omg/PortableInterceptor/TRANSPORT_RETRY.java, * org/omg/PortableInterceptor/USER_EXCEPTION.java, * org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.java, * org/omg/PortableServer/AdapterActivator.java, * org/omg/PortableServer/AdapterActivatorOperations.java, * org/omg/PortableServer/Current.java, * org/omg/PortableServer/CurrentHelper.java, * org/omg/PortableServer/CurrentOperations.java, * org/omg/PortableServer/CurrentPackage/NoContext.java, * org/omg/PortableServer/CurrentPackage/NoContextHelper.java, * org/omg/PortableServer/DynamicImplementation.java, * org/omg/PortableServer/ForwardRequest.java, * org/omg/PortableServer/ForwardRequestHelper.java, * org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.java, * org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.java, * org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.java, * org/omg/PortableServer/IdAssignmentPolicy.java, * org/omg/PortableServer/IdAssignmentPolicyOperations.java, * org/omg/PortableServer/IdAssignmentPolicyValue.java, * org/omg/PortableServer/IdUniquenessPolicy.java, * org/omg/PortableServer/IdUniquenessPolicyOperations.java, * org/omg/PortableServer/IdUniquenessPolicyValue.java, * org/omg/PortableServer/ImplicitActivationPolicy.java, * org/omg/PortableServer/ImplicitActivationPolicyOperations.java, * org/omg/PortableServer/ImplicitActivationPolicyValue.java, * org/omg/PortableServer/LifespanPolicy.java, * org/omg/PortableServer/LifespanPolicyOperations.java, * org/omg/PortableServer/LifespanPolicyValue.java, * org/omg/PortableServer/POA.java, * org/omg/PortableServer/POAHelper.java, * org/omg/PortableServer/POAManager.java, * org/omg/PortableServer/POAManagerOperations.java, * org/omg/PortableServer/POAManagerPackage/AdapterInactive.java, * org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java, * org/omg/PortableServer/POAManagerPackage/State.java, * org/omg/PortableServer/POAOperations.java, * org/omg/PortableServer/POAPackage/AdapterAlreadyExists.java, * org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java, * org/omg/PortableServer/POAPackage/AdapterNonExistent.java, * org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java, * org/omg/PortableServer/POAPackage/InvalidPolicy.java, * org/omg/PortableServer/POAPackage/InvalidPolicyHelper.java, * org/omg/PortableServer/POAPackage/NoServant.java, * org/omg/PortableServer/POAPackage/NoServantHelper.java, * org/omg/PortableServer/POAPackage/ObjectAlreadyActive.java, * org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java, * org/omg/PortableServer/POAPackage/ObjectNotActive.java, * org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java, * org/omg/PortableServer/POAPackage/ServantAlreadyActive.java, * org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java, * org/omg/PortableServer/POAPackage/ServantNotActive.java, * org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java, * org/omg/PortableServer/POAPackage/WrongAdapter.java, * org/omg/PortableServer/POAPackage/WrongAdapterHelper.java, * org/omg/PortableServer/POAPackage/WrongPolicy.java, * org/omg/PortableServer/POAPackage/WrongPolicyHelper.java, * org/omg/PortableServer/RequestProcessingPolicy.java, * org/omg/PortableServer/RequestProcessingPolicyOperations.java, * org/omg/PortableServer/RequestProcessingPolicyValue.java, * org/omg/PortableServer/Servant.java, * org/omg/PortableServer/ServantActivator.java, * org/omg/PortableServer/ServantActivatorHelper.java, * org/omg/PortableServer/ServantActivatorOperations.java, * org/omg/PortableServer/ServantActivatorPOA.java, * org/omg/PortableServer/ServantLocator.java, * org/omg/PortableServer/ServantLocatorHelper.java, * org/omg/PortableServer/ServantLocatorOperations.java, * org/omg/PortableServer/ServantLocatorPOA.java, * org/omg/PortableServer/ServantLocatorPackage/CookieHolder.java, * org/omg/PortableServer/ServantManager.java, * org/omg/PortableServer/ServantManagerOperations.java, * org/omg/PortableServer/ServantRetentionPolicy.java, * org/omg/PortableServer/ServantRetentionPolicyOperations.java, * org/omg/PortableServer/ServantRetentionPolicyValue.java, * org/omg/PortableServer/ThreadPolicy.java, * org/omg/PortableServer/ThreadPolicyOperations.java, * org/omg/PortableServer/ThreadPolicyValue.java, * org/omg/PortableServer/_ServantActivatorStub.java, * org/omg/PortableServer/_ServantLocatorStub.java, * org/omg/PortableServer/portable/Delegate.java, * org/omg/SendingContext/RunTime.java, * org/omg/SendingContext/RunTimeOperations.java, * sun/misc/Service.java, * sun/misc/ServiceConfigurationError.java, * sun/reflect/annotation/AnnotationInvocationHandler.java, * sun/reflect/annotation/AnnotationParser.java, * sun/reflect/annotation/AnnotationType.java, * sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java, * sun/reflect/annotation/ExceptionProxy.java, * tools/com/sun/javadoc/ClassDoc.java, * tools/com/sun/javadoc/ConstructorDoc.java, * tools/com/sun/javadoc/Doc.java, * tools/com/sun/javadoc/DocErrorReporter.java, * tools/com/sun/javadoc/Doclet.java, * tools/com/sun/javadoc/ExecutableMemberDoc.java, * tools/com/sun/javadoc/FieldDoc.java, * tools/com/sun/javadoc/MemberDoc.java, * tools/com/sun/javadoc/MethodDoc.java, * tools/com/sun/javadoc/PackageDoc.java, * tools/com/sun/javadoc/ParamTag.java, * tools/com/sun/javadoc/Parameter.java, * tools/com/sun/javadoc/ProgramElementDoc.java, * tools/com/sun/javadoc/RootDoc.java, * tools/com/sun/javadoc/SeeTag.java, * tools/com/sun/javadoc/SerialFieldTag.java, * tools/com/sun/javadoc/Tag.java, * tools/com/sun/javadoc/ThrowsTag.java, * tools/com/sun/javadoc/Type.java, * tools/com/sun/javadoc/TypeVariable.java, * tools/com/sun/tools/javadoc/Main.java, * tools/com/sun/tools/javah/Main.java, * tools/external/asm/org/objectweb/asm/AnnotationVisitor.java, * tools/external/asm/org/objectweb/asm/AnnotationWriter.java, * tools/external/asm/org/objectweb/asm/Attribute.java, * tools/external/asm/org/objectweb/asm/ByteVector.java, * tools/external/asm/org/objectweb/asm/ClassAdapter.java, * tools/external/asm/org/objectweb/asm/ClassReader.java, * tools/external/asm/org/objectweb/asm/ClassVisitor.java, * tools/external/asm/org/objectweb/asm/ClassWriter.java, * tools/external/asm/org/objectweb/asm/Edge.java, * tools/external/asm/org/objectweb/asm/FieldVisitor.java, * tools/external/asm/org/objectweb/asm/FieldWriter.java, * tools/external/asm/org/objectweb/asm/Handler.java, * tools/external/asm/org/objectweb/asm/Item.java, * tools/external/asm/org/objectweb/asm/Label.java, * tools/external/asm/org/objectweb/asm/MethodAdapter.java, * tools/external/asm/org/objectweb/asm/MethodVisitor.java, * tools/external/asm/org/objectweb/asm/MethodWriter.java, * tools/external/asm/org/objectweb/asm/Opcodes.java, * tools/external/asm/org/objectweb/asm/Type.java, * tools/external/asm/org/objectweb/asm/attrs/StackMapAttribute.java, * tools/external/asm/org/objectweb/asm/attrs/StackMapFrame.java, * tools/external/asm/org/objectweb/asm/attrs/StackMapTableAttribute.java, * tools/external/asm/org/objectweb/asm/attrs/StackMapType.java, * tools/external/asm/org/objectweb/asm/commons/AdviceAdapter.java, * tools/external/asm/org/objectweb/asm/commons/EmptyVisitor.java, * tools/external/asm/org/objectweb/asm/commons/GeneratorAdapter.java, * tools/external/asm/org/objectweb/asm/commons/LocalVariablesSorter.java, * tools/external/asm/org/objectweb/asm/commons/Method.java, * tools/external/asm/org/objectweb/asm/commons/SerialVersionUIDAdder.java, * tools/external/asm/org/objectweb/asm/commons/StaticInitMerger.java, * tools/external/asm/org/objectweb/asm/commons/TableSwitchGenerator.java, * tools/external/asm/org/objectweb/asm/optimizer/AnnotationConstantsCollector.java, * tools/external/asm/org/objectweb/asm/optimizer/ClassConstantsCollector.java, * tools/external/asm/org/objectweb/asm/optimizer/ClassOptimizer.java, * tools/external/asm/org/objectweb/asm/optimizer/Constant.java, * tools/external/asm/org/objectweb/asm/optimizer/ConstantPool.java, * tools/external/asm/org/objectweb/asm/optimizer/FieldConstantsCollector.java, * tools/external/asm/org/objectweb/asm/optimizer/JarOptimizer.java, * tools/external/asm/org/objectweb/asm/optimizer/MethodConstantsCollector.java, * tools/external/asm/org/objectweb/asm/optimizer/MethodOptimizer.java, * tools/external/asm/org/objectweb/asm/optimizer/NameMapping.java, * tools/external/asm/org/objectweb/asm/optimizer/Shrinker.java, * tools/external/asm/org/objectweb/asm/signature/SignatureReader.java, * tools/external/asm/org/objectweb/asm/signature/SignatureVisitor.java, * tools/external/asm/org/objectweb/asm/signature/SignatureWriter.java, * tools/external/asm/org/objectweb/asm/tree/AbstractInsnNode.java, * tools/external/asm/org/objectweb/asm/tree/AnnotationNode.java, * tools/external/asm/org/objectweb/asm/tree/ClassNode.java, * tools/external/asm/org/objectweb/asm/tree/FieldInsnNode.java, * tools/external/asm/org/objectweb/asm/tree/FieldNode.java, * tools/external/asm/org/objectweb/asm/tree/IincInsnNode.java, * tools/external/asm/org/objectweb/asm/tree/InnerClassNode.java, * tools/external/asm/org/objectweb/asm/tree/InsnNode.java, * tools/external/asm/org/objectweb/asm/tree/IntInsnNode.java, * tools/external/asm/org/objectweb/asm/tree/JumpInsnNode.java, * tools/external/asm/org/objectweb/asm/tree/LabelNode.java, * tools/external/asm/org/objectweb/asm/tree/LdcInsnNode.java, * tools/external/asm/org/objectweb/asm/tree/LineNumberNode.java, * tools/external/asm/org/objectweb/asm/tree/LocalVariableNode.java, * tools/external/asm/org/objectweb/asm/tree/LookupSwitchInsnNode.java, * tools/external/asm/org/objectweb/asm/tree/MemberNode.java, * tools/external/asm/org/objectweb/asm/tree/MethodInsnNode.java, * tools/external/asm/org/objectweb/asm/tree/MethodNode.java, * tools/external/asm/org/objectweb/asm/tree/MultiANewArrayInsnNode.java, * tools/external/asm/org/objectweb/asm/tree/TableSwitchInsnNode.java, * tools/external/asm/org/objectweb/asm/tree/TryCatchBlockNode.java, * tools/external/asm/org/objectweb/asm/tree/TypeInsnNode.java, * tools/external/asm/org/objectweb/asm/tree/VarInsnNode.java, * tools/external/asm/org/objectweb/asm/tree/analysis/Analyzer.java, * tools/external/asm/org/objectweb/asm/tree/analysis/AnalyzerException.java, * tools/external/asm/org/objectweb/asm/tree/analysis/BasicInterpreter.java, * tools/external/asm/org/objectweb/asm/tree/analysis/BasicValue.java, * tools/external/asm/org/objectweb/asm/tree/analysis/BasicVerifier.java, * tools/external/asm/org/objectweb/asm/tree/analysis/DataflowInterpreter.java, * tools/external/asm/org/objectweb/asm/tree/analysis/DataflowValue.java, * tools/external/asm/org/objectweb/asm/tree/analysis/Frame.java, * tools/external/asm/org/objectweb/asm/tree/analysis/IntMap.java, * tools/external/asm/org/objectweb/asm/tree/analysis/Interpreter.java, * tools/external/asm/org/objectweb/asm/tree/analysis/SimpleVerifier.java, * tools/external/asm/org/objectweb/asm/tree/analysis/SmallSet.java, * tools/external/asm/org/objectweb/asm/tree/analysis/Subroutine.java, * tools/external/asm/org/objectweb/asm/tree/analysis/Value.java, * tools/external/asm/org/objectweb/asm/util/ASMifierAbstractVisitor.java, * tools/external/asm/org/objectweb/asm/util/ASMifierAnnotationVisitor.java, * tools/external/asm/org/objectweb/asm/util/ASMifierClassVisitor.java, * tools/external/asm/org/objectweb/asm/util/ASMifierFieldVisitor.java, * tools/external/asm/org/objectweb/asm/util/ASMifierMethodVisitor.java, * tools/external/asm/org/objectweb/asm/util/AbstractVisitor.java, * tools/external/asm/org/objectweb/asm/util/CheckAnnotationAdapter.java, * tools/external/asm/org/objectweb/asm/util/CheckClassAdapter.java, * tools/external/asm/org/objectweb/asm/util/CheckMethodAdapter.java, * tools/external/asm/org/objectweb/asm/util/TraceAbstractVisitor.java, * tools/external/asm/org/objectweb/asm/util/TraceAnnotationVisitor.java, * tools/external/asm/org/objectweb/asm/util/TraceClassVisitor.java, * tools/external/asm/org/objectweb/asm/util/TraceFieldVisitor.java, * tools/external/asm/org/objectweb/asm/util/TraceMethodVisitor.java, * tools/external/asm/org/objectweb/asm/util/TraceSignatureVisitor.java, * tools/external/asm/org/objectweb/asm/util/attrs/ASMStackMapAttribute.java, * tools/external/asm/org/objectweb/asm/util/attrs/ASMStackMapTableAttribute.java, * tools/external/asm/org/objectweb/asm/util/attrs/ASMifiable.java, * tools/external/asm/org/objectweb/asm/util/attrs/Traceable.java, * tools/external/asm/org/objectweb/asm/xml/ASMContentHandler.java, * tools/external/asm/org/objectweb/asm/xml/Processor.java, * tools/external/asm/org/objectweb/asm/xml/SAXAdapter.java, * tools/external/asm/org/objectweb/asm/xml/SAXAnnotationAdapter.java, * tools/external/asm/org/objectweb/asm/xml/SAXClassAdapter.java, * tools/external/asm/org/objectweb/asm/xml/SAXCodeAdapter.java, * tools/external/asm/org/objectweb/asm/xml/SAXFieldAdapter.java, * tools/generated/gnu/classpath/tools/gjdoc/expr/JavaLexer.java, * tools/generated/gnu/classpath/tools/gjdoc/expr/JavaRecognizer.java, * tools/generated/gnu/classpath/tools/gjdoc/expr/JavaTokenTypes.java, * tools/gnu/classpath/tools/FileSystemClassLoader.java, * tools/gnu/classpath/tools/IOToolkit.java, * tools/gnu/classpath/tools/MalformedInputEvent.java, * tools/gnu/classpath/tools/MalformedInputListener.java, * tools/gnu/classpath/tools/NotifyingInputStreamReader.java, * tools/gnu/classpath/tools/StringToolkit.java, * tools/gnu/classpath/tools/appletviewer/AppletSecurityManager.java, * tools/gnu/classpath/tools/appletviewer/AppletTag.java, * tools/gnu/classpath/tools/appletviewer/CommonAppletContext.java, * tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java, * tools/gnu/classpath/tools/appletviewer/Main.java, * tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java, * tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java, * tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java, * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java, * tools/gnu/classpath/tools/appletviewer/TagParser.java, * tools/gnu/classpath/tools/common/CallbackUtil.java, * tools/gnu/classpath/tools/common/ClasspathToolParser.java, * tools/gnu/classpath/tools/common/Persistent.java, * tools/gnu/classpath/tools/common/ProviderUtil.java, * tools/gnu/classpath/tools/common/SecurityProviderInfo.java, * tools/gnu/classpath/tools/doclets/AbstractDoclet.java, * tools/gnu/classpath/tools/doclets/DocletConfigurationException.java, * tools/gnu/classpath/tools/doclets/DocletOption.java, * tools/gnu/classpath/tools/doclets/DocletOptionColonSeparated.java, * tools/gnu/classpath/tools/doclets/DocletOptionFile.java, * tools/gnu/classpath/tools/doclets/DocletOptionFlag.java, * tools/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.java, * tools/gnu/classpath/tools/doclets/DocletOptionString.java, * tools/gnu/classpath/tools/doclets/InlineTagRenderer.java, * tools/gnu/classpath/tools/doclets/InvalidPackageWildcardException.java, * tools/gnu/classpath/tools/doclets/PackageGroup.java, * tools/gnu/classpath/tools/doclets/PackageMatcher.java, * tools/gnu/classpath/tools/doclets/StandardTaglet.java, * tools/gnu/classpath/tools/doclets/TagletPrinter.java, * tools/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.java, * tools/gnu/classpath/tools/doclets/htmldoclet/CssClass.java, * tools/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java, * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java, * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java, * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.java, * tools/gnu/classpath/tools/doclets/xmldoclet/Driver.java, * tools/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java, * tools/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java, * tools/gnu/classpath/tools/doclets/xmldoclet/TargetContext.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java, * tools/gnu/classpath/tools/getopt/FileArgumentCallback.java, * tools/gnu/classpath/tools/getopt/Option.java, * tools/gnu/classpath/tools/getopt/OptionGroup.java, * tools/gnu/classpath/tools/getopt/Parser.java, * tools/gnu/classpath/tools/gjdoc/AbstractTagImpl.java, * tools/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java, * tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java, * tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java, * tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java, * tools/gnu/classpath/tools/gjdoc/ConstructorDocImpl.java, * tools/gnu/classpath/tools/gjdoc/Debug.java, * tools/gnu/classpath/tools/gjdoc/DirectoryTree.java, * tools/gnu/classpath/tools/gjdoc/DocImpl.java, * tools/gnu/classpath/tools/gjdoc/ErrorReporter.java, * tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java, * tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java, * tools/gnu/classpath/tools/gjdoc/GjdocPackageDoc.java, * tools/gnu/classpath/tools/gjdoc/GjdocRootDoc.java, * tools/gnu/classpath/tools/gjdoc/InheritDocTagImpl.java, * tools/gnu/classpath/tools/gjdoc/JavadocWrapper.java, * tools/gnu/classpath/tools/gjdoc/LinkTagImpl.java, * tools/gnu/classpath/tools/gjdoc/Main.java, * tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java, * tools/gnu/classpath/tools/gjdoc/MethodDocImpl.java, * tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java, * tools/gnu/classpath/tools/gjdoc/ParamTagImpl.java, * tools/gnu/classpath/tools/gjdoc/ParameterImpl.java, * tools/gnu/classpath/tools/gjdoc/ParseException.java, * tools/gnu/classpath/tools/gjdoc/Parser.java, * tools/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java, * tools/gnu/classpath/tools/gjdoc/RootDocImpl.java, * tools/gnu/classpath/tools/gjdoc/SeeTagImpl.java, * tools/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java, * tools/gnu/classpath/tools/gjdoc/SourcePositionImpl.java, * tools/gnu/classpath/tools/gjdoc/TagContainer.java, * tools/gnu/classpath/tools/gjdoc/TagImpl.java, * tools/gnu/classpath/tools/gjdoc/TemporaryStore.java, * tools/gnu/classpath/tools/gjdoc/TextTagImpl.java, * tools/gnu/classpath/tools/gjdoc/ThrowsTagImpl.java, * tools/gnu/classpath/tools/gjdoc/Timer.java, * tools/gnu/classpath/tools/gjdoc/TimerDoclet.java, * tools/gnu/classpath/tools/gjdoc/TypeImpl.java, * tools/gnu/classpath/tools/gjdoc/TypeVariableImpl.java, * tools/gnu/classpath/tools/gjdoc/ValueTagImpl.java, * tools/gnu/classpath/tools/gjdoc/WritableType.java, * tools/gnu/classpath/tools/gjdoc/expr/AdditionExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/AndExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.java, * tools/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantByte.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantChar.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantDouble.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantFloat.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantInteger.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantLong.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantNull.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantShort.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantString.java, * tools/gnu/classpath/tools/gjdoc/expr/Context.java, * tools/gnu/classpath/tools/gjdoc/expr/DivisionExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/EqualExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java, * tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java, * tools/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/Expression.java, * tools/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.java, * tools/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/LessThanExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ModuloExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/NegateExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/NotExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/Type.java, * tools/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/UnaryExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.java, * tools/gnu/classpath/tools/jar/Creator.java, * tools/gnu/classpath/tools/jar/Indexer.java, * tools/gnu/classpath/tools/jar/Main.java, * tools/gnu/classpath/tools/jar/Updater.java, * tools/gnu/classpath/tools/jarsigner/JarVerifier.java, * tools/gnu/classpath/tools/jarsigner/Main.java, * tools/gnu/classpath/tools/jarsigner/SFHelper.java, * tools/gnu/classpath/tools/java2xhtml/Java2xhtml.java, * tools/gnu/classpath/tools/javah/ClassWrapper.java, * tools/gnu/classpath/tools/javah/CniPrintStream.java, * tools/gnu/classpath/tools/javah/GcjhMain.java, * tools/gnu/classpath/tools/javah/JniHelper.java, * tools/gnu/classpath/tools/javah/JniIncludePrinter.java, * tools/gnu/classpath/tools/javah/JniStubPrinter.java, * tools/gnu/classpath/tools/javah/Keywords.java, * tools/gnu/classpath/tools/javah/Main.java, * tools/gnu/classpath/tools/javah/MethodHelper.java, * tools/gnu/classpath/tools/keytool/CACertCmd.java, * tools/gnu/classpath/tools/keytool/CertReqCmd.java, * tools/gnu/classpath/tools/keytool/Command.java, * tools/gnu/classpath/tools/keytool/DeleteCmd.java, * tools/gnu/classpath/tools/keytool/ExportCmd.java, * tools/gnu/classpath/tools/keytool/GenKeyCmd.java, * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java, * tools/gnu/classpath/tools/keytool/ImportCmd.java, * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java, * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java, * tools/gnu/classpath/tools/keytool/ListCmd.java, * tools/gnu/classpath/tools/keytool/PrintCertCmd.java, * tools/gnu/classpath/tools/keytool/SelfCertCmd.java, * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java, * tools/gnu/classpath/tools/orbd/Main.java, * tools/gnu/classpath/tools/orbd/PersistentContext.java, * tools/gnu/classpath/tools/orbd/PersistentContextMap.java, * tools/gnu/classpath/tools/orbd/PersistentMap.java, * tools/gnu/classpath/tools/rmic/AbstractMethodGenerator.java, * tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java, * tools/gnu/classpath/tools/rmic/CompilationError.java, * tools/gnu/classpath/tools/rmic/Generator.java, * tools/gnu/classpath/tools/rmic/GiopIo.java, * tools/gnu/classpath/tools/rmic/HashFinder.java, * tools/gnu/classpath/tools/rmic/Main.java, * tools/gnu/classpath/tools/rmic/MethodGenerator.java, * tools/gnu/classpath/tools/rmic/RMICException.java, * tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java, * tools/gnu/classpath/tools/rmic/RmicBackend.java, * tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java, * tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java, * tools/gnu/classpath/tools/rmic/Variables.java, * tools/gnu/classpath/tools/rmic/WrapUnWrapper.java, * tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java, * tools/gnu/classpath/tools/rmid/ActivationSystemImpl_Stub.java, * tools/gnu/classpath/tools/rmid/Main.java, * tools/gnu/classpath/tools/rmid/PersistentBidiHashTable.java, * tools/gnu/classpath/tools/rmiregistry/Main.java, * tools/gnu/classpath/tools/rmiregistry/PersistentHashTable.java, * tools/gnu/classpath/tools/rmiregistry/RegistryImpl.java, * tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Skel.java, * tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Stub.java, * tools/gnu/classpath/tools/serialver/SerialVer.java, * tools/gnu/classpath/tools/taglets/AuthorTaglet.java, * tools/gnu/classpath/tools/taglets/CodeTaglet.java, * tools/gnu/classpath/tools/taglets/CopyrightTaglet.java, * tools/gnu/classpath/tools/taglets/DeprecatedTaglet.java, * tools/gnu/classpath/tools/taglets/GenericTaglet.java, * tools/gnu/classpath/tools/taglets/GnuExtendedTaglet.java, * tools/gnu/classpath/tools/taglets/SinceTaglet.java, * tools/gnu/classpath/tools/taglets/TagletContext.java, * tools/gnu/classpath/tools/taglets/ValueTaglet.java, * tools/gnu/classpath/tools/taglets/VersionTaglet.java, * tools/gnu/classpath/tools/tnameserv/Main.java, * vm/reference/gnu/classpath/jdwp/VMFrame.java, * vm/reference/gnu/classpath/jdwp/VMIdManager.java, * vm/reference/gnu/classpath/jdwp/VMMethod.java, * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java, * vm/reference/gnu/java/lang/VMCPStringBuilder.java, * vm/reference/gnu/java/lang/VMInstrumentationImpl.java, * vm/reference/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java, * vm/reference/gnu/java/lang/management/VMCompilationMXBeanImpl.java, * vm/reference/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java, * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java, * vm/reference/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java, * vm/reference/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java, * vm/reference/gnu/java/lang/management/VMThreadMXBeanImpl.java, * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java, * vm/reference/gnu/java/net/VMPlainSocketImpl.java, * vm/reference/gnu/java/nio/VMChannel.java, * vm/reference/gnu/java/nio/VMPipe.java, * vm/reference/gnu/java/nio/VMSelector.java, * vm/reference/gnu/java/security/jce/prng/VMSecureRandom.java, * vm/reference/java/io/VMFile.java, * vm/reference/java/io/VMObjectInputStream.java, * vm/reference/java/io/VMObjectStreamClass.java, * vm/reference/java/lang/VMClass.java, * vm/reference/java/lang/VMClassLoader.java, * vm/reference/java/lang/VMDouble.java, * vm/reference/java/lang/VMFloat.java, * vm/reference/java/lang/VMMath.java, * vm/reference/java/lang/VMObject.java, * vm/reference/java/lang/VMProcess.java, * vm/reference/java/lang/VMRuntime.java, * vm/reference/java/lang/VMString.java, * vm/reference/java/lang/VMSystem.java, * vm/reference/java/lang/VMThread.java, * vm/reference/java/lang/reflect/VMConstructor.java, * vm/reference/java/lang/reflect/VMField.java, * vm/reference/java/lang/reflect/VMMethod.java, * vm/reference/java/net/VMNetworkInterface.java, * vm/reference/java/nio/channels/VMChannels.java, * vm/reference/java/security/VMAccessController.java, * vm/reference/java/security/VMSecureRandom.java, * vm/reference/java/util/VMTimeZone.java, * vm/reference/sun/misc/Unsafe.java, * vm/reference/sun/reflect/Reflection.java, * vm/reference/sun/reflect/misc/ReflectUtil.java: Normalise whitespace. From-SVN: r168680
5434 lines
155 KiB
Java
5434 lines
155 KiB
Java
/* XMLParser.java --
|
|
Copyright (C) 2005 Free Software Foundation, Inc.
|
|
|
|
This file is part of GNU Classpath.
|
|
|
|
GNU Classpath is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2, or (at your option)
|
|
any later version.
|
|
|
|
GNU Classpath is distributed in the hope that it will be useful, but
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with GNU Classpath; see the file COPYING. If not, write to the
|
|
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
02110-1301 USA.
|
|
|
|
Linking this library statically or dynamically with other modules is
|
|
making a combined work based on this library. Thus, the terms and
|
|
conditions of the GNU General Public License cover the whole
|
|
combination.
|
|
|
|
As a special exception, the copyright holders of this library give you
|
|
permission to link this library with independent modules to produce an
|
|
executable, regardless of the license terms of these independent
|
|
modules, and to copy and distribute the resulting executable under
|
|
terms of your choice, provided that you also meet, for each linked
|
|
independent module, the terms and conditions of the license of that
|
|
module. An independent module is a module which is not derived from
|
|
or based on this library. If you modify this library, you may extend
|
|
this exception to your version of the library, but you are not
|
|
obligated to do so. If you do not wish to do so, delete this
|
|
exception statement from your version.
|
|
|
|
Partly derived from code which carried the following notice:
|
|
|
|
Copyright (c) 1997, 1998 by Microstar Software Ltd.
|
|
|
|
AElfred is free for both commercial and non-commercial use and
|
|
redistribution, provided that Microstar's copyright and disclaimer are
|
|
retained intact. You are free to modify AElfred for your own use and
|
|
to redistribute AElfred with your modifications, provided that the
|
|
modifications are clearly documented.
|
|
|
|
This program is distributed in the hope that it will be useful, but
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
merchantability or fitness for a particular purpose. Please use it AT
|
|
YOUR OWN RISK.
|
|
*/
|
|
|
|
package gnu.xml.stream;
|
|
|
|
import gnu.java.lang.CPStringBuilder;
|
|
|
|
import java.io.BufferedInputStream;
|
|
import java.io.EOFException;
|
|
import java.io.File;
|
|
import java.io.FileOutputStream;
|
|
import java.io.FileWriter;
|
|
import java.io.InputStream;
|
|
import java.io.InputStreamReader;
|
|
import java.io.IOException;
|
|
import java.io.Reader;
|
|
import java.io.StringReader;
|
|
import java.io.UnsupportedEncodingException;
|
|
import java.net.MalformedURLException;
|
|
import java.net.URL;
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.HashSet;
|
|
import java.util.Iterator;
|
|
import java.util.LinkedHashMap;
|
|
import java.util.LinkedList;
|
|
import java.util.Map;
|
|
import java.util.NoSuchElementException;
|
|
import java.util.StringTokenizer;
|
|
|
|
import javax.xml.XMLConstants;
|
|
import javax.xml.namespace.NamespaceContext;
|
|
import javax.xml.namespace.QName;
|
|
import javax.xml.stream.Location;
|
|
import javax.xml.stream.XMLInputFactory;
|
|
import javax.xml.stream.XMLReporter;
|
|
import javax.xml.stream.XMLResolver;
|
|
import javax.xml.stream.XMLStreamConstants;
|
|
import javax.xml.stream.XMLStreamException;
|
|
import javax.xml.stream.XMLStreamReader;
|
|
|
|
import gnu.java.net.CRLFInputStream;
|
|
import gnu.classpath.debug.TeeInputStream;
|
|
import gnu.classpath.debug.TeeReader;
|
|
|
|
/**
|
|
* An XML parser.
|
|
* This parser supports the following additional StAX properties:
|
|
* <table>
|
|
* <tr><td>gnu.xml.stream.stringInterning</td>
|
|
* <td>Boolean</td>
|
|
* <td>Indicates whether markup strings will be interned</td></tr>
|
|
* <tr><td>gnu.xml.stream.xmlBase</td>
|
|
* <td>Boolean</td>
|
|
* <td>Indicates whether XML Base processing will be performed</td></tr>
|
|
* <tr><td>gnu.xml.stream.baseURI</td>
|
|
* <td>String</td>
|
|
* <td>Returns the base URI of the current event</td></tr>
|
|
* </table>
|
|
*
|
|
* @see http://www.w3.org/TR/REC-xml/
|
|
* @see http://www.w3.org/TR/xml11/
|
|
* @see http://www.w3.org/TR/REC-xml-names
|
|
* @see http://www.w3.org/TR/xml-names11
|
|
* @see http://www.w3.org/TR/xmlbase/
|
|
*
|
|
* @author <a href='mailto:dog@gnu.org'>Chris Burdess</a>
|
|
*/
|
|
public class XMLParser
|
|
implements XMLStreamReader, NamespaceContext
|
|
{
|
|
|
|
// -- parser state machine states --
|
|
private static final int INIT = 0; // start state
|
|
private static final int PROLOG = 1; // in prolog
|
|
private static final int CONTENT = 2; // in content
|
|
private static final int EMPTY_ELEMENT = 3; // empty element state
|
|
private static final int MISC = 4; // in Misc (after root element)
|
|
|
|
// -- parameters for parsing literals --
|
|
private final static int LIT_ENTITY_REF = 2;
|
|
private final static int LIT_NORMALIZE = 4;
|
|
private final static int LIT_ATTRIBUTE = 8;
|
|
private final static int LIT_DISABLE_PE = 16;
|
|
private final static int LIT_DISABLE_CREF = 32;
|
|
private final static int LIT_DISABLE_EREF = 64;
|
|
private final static int LIT_PUBID = 256;
|
|
|
|
// -- types of attribute values --
|
|
final static int ATTRIBUTE_DEFAULT_UNDECLARED = 30;
|
|
final static int ATTRIBUTE_DEFAULT_SPECIFIED = 31;
|
|
final static int ATTRIBUTE_DEFAULT_IMPLIED = 32;
|
|
final static int ATTRIBUTE_DEFAULT_REQUIRED = 33;
|
|
final static int ATTRIBUTE_DEFAULT_FIXED = 34;
|
|
|
|
// -- additional event types --
|
|
final static int START_ENTITY = 50;
|
|
final static int END_ENTITY = 51;
|
|
|
|
/**
|
|
* The current input.
|
|
*/
|
|
private Input input;
|
|
|
|
/**
|
|
* Stack of inputs representing XML general entities.
|
|
* The input representing the XML input stream or reader is always the
|
|
* first element in this stack.
|
|
*/
|
|
private LinkedList inputStack = new LinkedList();
|
|
|
|
/**
|
|
* Stack of start-entity events to be reported.
|
|
*/
|
|
private LinkedList startEntityStack = new LinkedList();
|
|
|
|
/**
|
|
* Stack of end-entity events to be reported.
|
|
*/
|
|
private LinkedList endEntityStack = new LinkedList();
|
|
|
|
/**
|
|
* Current parser state within the main state machine.
|
|
*/
|
|
private int state = INIT;
|
|
|
|
/**
|
|
* The (type of the) current event.
|
|
*/
|
|
private int event;
|
|
|
|
/**
|
|
* The element name stack. The first element in this stack will be the
|
|
* root element.
|
|
*/
|
|
private LinkedList stack = new LinkedList();
|
|
|
|
/**
|
|
* Stack of namespace contexts. These are maps specifying prefix-to-URI
|
|
* mappings. The first element in this stack is the most recent namespace
|
|
* context (i.e. the other way around from the element name stack).
|
|
*/
|
|
private LinkedList namespaces = new LinkedList();
|
|
|
|
/**
|
|
* The base-URI stack. This holds the base URI context for each element.
|
|
* The first element in this stack is the most recent context (i.e. the
|
|
* other way around from the element name stack).
|
|
*/
|
|
private LinkedList bases = new LinkedList();
|
|
|
|
/**
|
|
* The list of attributes for the current element, in the order defined in
|
|
* the XML stream.
|
|
*/
|
|
private ArrayList attrs = new ArrayList();
|
|
|
|
/**
|
|
* Buffer for text and character data.
|
|
*/
|
|
private StringBuffer buf = new StringBuffer();
|
|
|
|
/**
|
|
* Buffer for NMTOKEN strings (markup).
|
|
*/
|
|
private StringBuffer nmtokenBuf = new StringBuffer();
|
|
|
|
/**
|
|
* Buffer for string literals. (e.g. attribute values)
|
|
*/
|
|
private StringBuffer literalBuf = new StringBuffer();
|
|
|
|
/**
|
|
* Temporary Unicode character buffer used during character data reads.
|
|
*/
|
|
private int[] tmpBuf = new int[1024];
|
|
|
|
/**
|
|
* The element content model for the current element.
|
|
*/
|
|
private ContentModel currentContentModel;
|
|
|
|
/**
|
|
* The validation stack. This holds lists of the elements seen for each
|
|
* element, in order to determine whether the names and order of these
|
|
* elements match the content model for the element. The last entry in
|
|
* this stack represents the current element.
|
|
*/
|
|
private LinkedList validationStack;
|
|
|
|
/**
|
|
* These sets contain the IDs and the IDREFs seen in the document, to
|
|
* ensure that IDs are unique and that each IDREF refers to an ID in the
|
|
* document.
|
|
*/
|
|
private HashSet ids, idrefs;
|
|
|
|
/**
|
|
* The target and data associated with the current processing instruction
|
|
* event.
|
|
*/
|
|
private String piTarget, piData;
|
|
|
|
/**
|
|
* The XML version declared in the XML declaration.
|
|
*/
|
|
private String xmlVersion;
|
|
|
|
/**
|
|
* The encoding declared in the XML declaration.
|
|
*/
|
|
private String xmlEncoding;
|
|
|
|
/**
|
|
* The standalone value declared in the XML declaration.
|
|
*/
|
|
private Boolean xmlStandalone;
|
|
|
|
/**
|
|
* The document type definition.
|
|
*/
|
|
Doctype doctype;
|
|
|
|
/**
|
|
* State variables for determining parameter-entity expansion.
|
|
*/
|
|
private boolean expandPE, peIsError;
|
|
|
|
/**
|
|
* Whether this is a validating parser.
|
|
*/
|
|
private final boolean validating;
|
|
|
|
/**
|
|
* Whether strings representing markup will be interned.
|
|
*/
|
|
private final boolean stringInterning;
|
|
|
|
/**
|
|
* If true, CDATA sections will be merged with adjacent text nodes into a
|
|
* single event.
|
|
*/
|
|
private final boolean coalescing;
|
|
|
|
/**
|
|
* Whether to replace general entity references with their replacement
|
|
* text automatically during parsing.
|
|
* Otherwise entity-reference events will be issued.
|
|
*/
|
|
private final boolean replaceERefs;
|
|
|
|
/**
|
|
* Whether to support external entities.
|
|
*/
|
|
private final boolean externalEntities;
|
|
|
|
/**
|
|
* Whether to support DTDs.
|
|
*/
|
|
private final boolean supportDTD;
|
|
|
|
/**
|
|
* Whether to support XML namespaces. If true, namespace information will
|
|
* be available. Otherwise namespaces will simply be reported as ordinary
|
|
* attributes.
|
|
*/
|
|
private final boolean namespaceAware;
|
|
|
|
/**
|
|
* Whether to support XML Base. If true, URIs specified in xml:base
|
|
* attributes will be honoured when resolving external entities.
|
|
*/
|
|
private final boolean baseAware;
|
|
|
|
/**
|
|
* Whether to report extended event types (START_ENTITY and END_ENTITY)
|
|
* in addition to the standard event types. Used by the SAX parser.
|
|
*/
|
|
private final boolean extendedEventTypes;
|
|
|
|
/**
|
|
* The reporter to receive parsing warnings.
|
|
*/
|
|
final XMLReporter reporter;
|
|
|
|
/**
|
|
* Callback interface for resolving external entities.
|
|
*/
|
|
final XMLResolver resolver;
|
|
|
|
// -- Constants for testing the next kind of markup event --
|
|
private static final String TEST_START_ELEMENT = "<";
|
|
private static final String TEST_END_ELEMENT = "</";
|
|
private static final String TEST_COMMENT = "<!--";
|
|
private static final String TEST_PI = "<?";
|
|
private static final String TEST_CDATA = "<![CDATA[";
|
|
private static final String TEST_XML_DECL = "<?xml";
|
|
private static final String TEST_DOCTYPE_DECL = "<!DOCTYPE";
|
|
private static final String TEST_ELEMENT_DECL = "<!ELEMENT";
|
|
private static final String TEST_ATTLIST_DECL = "<!ATTLIST";
|
|
private static final String TEST_ENTITY_DECL = "<!ENTITY";
|
|
private static final String TEST_NOTATION_DECL = "<!NOTATION";
|
|
private static final String TEST_KET = ">";
|
|
private static final String TEST_END_COMMENT = "--";
|
|
private static final String TEST_END_PI = "?>";
|
|
private static final String TEST_END_CDATA = "]]>";
|
|
|
|
/**
|
|
* The general entities predefined by the XML specification.
|
|
*/
|
|
private static final LinkedHashMap PREDEFINED_ENTITIES = new LinkedHashMap();
|
|
static
|
|
{
|
|
PREDEFINED_ENTITIES.put("amp", "&");
|
|
PREDEFINED_ENTITIES.put("lt", "<");
|
|
PREDEFINED_ENTITIES.put("gt", ">");
|
|
PREDEFINED_ENTITIES.put("apos", "'");
|
|
PREDEFINED_ENTITIES.put("quot", "\"");
|
|
}
|
|
|
|
/**
|
|
* Creates a new XML parser for the given input stream.
|
|
* This constructor should be used where possible, as it allows the
|
|
* encoding of the XML data to be correctly determined from the stream.
|
|
* @param in the input stream
|
|
* @param systemId the URL from which the input stream was retrieved
|
|
* (necessary if there are external entities to be resolved)
|
|
* @param validating if the parser is to be a validating parser
|
|
* @param namespaceAware if the parser should support XML Namespaces
|
|
* @param coalescing if CDATA sections should be merged into adjacent text
|
|
* nodes
|
|
* @param replaceERefs if entity references should be automatically
|
|
* replaced by their replacement text (otherwise they will be reported as
|
|
* entity-reference events)
|
|
* @param externalEntities if external entities should be loaded
|
|
* @param supportDTD if support for the XML DTD should be enabled
|
|
* @param baseAware if the parser should support XML Base to resolve
|
|
* external entities
|
|
* @param stringInterning whether strings will be interned during parsing
|
|
* @param reporter the reporter to receive warnings during processing
|
|
* @param resolver the callback interface used to resolve external
|
|
* entities
|
|
*/
|
|
public XMLParser(InputStream in, String systemId,
|
|
boolean validating,
|
|
boolean namespaceAware,
|
|
boolean coalescing,
|
|
boolean replaceERefs,
|
|
boolean externalEntities,
|
|
boolean supportDTD,
|
|
boolean baseAware,
|
|
boolean stringInterning,
|
|
boolean extendedEventTypes,
|
|
XMLReporter reporter,
|
|
XMLResolver resolver)
|
|
{
|
|
this.validating = validating;
|
|
this.namespaceAware = namespaceAware;
|
|
this.coalescing = coalescing;
|
|
this.replaceERefs = replaceERefs;
|
|
this.externalEntities = externalEntities;
|
|
this.supportDTD = supportDTD;
|
|
this.baseAware = baseAware;
|
|
this.stringInterning = stringInterning;
|
|
this.extendedEventTypes = extendedEventTypes;
|
|
this.reporter = reporter;
|
|
this.resolver = resolver;
|
|
if (validating)
|
|
{
|
|
validationStack = new LinkedList();
|
|
ids = new HashSet();
|
|
idrefs = new HashSet();
|
|
}
|
|
String debug = System.getProperty("gnu.xml.debug.input");
|
|
if (debug != null)
|
|
{
|
|
try
|
|
{
|
|
File file = File.createTempFile(debug, ".xml");
|
|
in = new TeeInputStream(in, new FileOutputStream(file));
|
|
}
|
|
catch (IOException e)
|
|
{
|
|
RuntimeException e2 = new RuntimeException();
|
|
e2.initCause(e);
|
|
throw e2;
|
|
}
|
|
}
|
|
systemId = canonicalize(systemId);
|
|
pushInput(new Input(in, null, null, systemId, null, null, false, true));
|
|
}
|
|
|
|
/**
|
|
* Creates a new XML parser for the given character stream.
|
|
* This constructor is only available for compatibility with the JAXP
|
|
* APIs, which permit XML to be parsed from a character stream. Because
|
|
* the encoding specified by the character stream may conflict with that
|
|
* specified in the XML declaration, this method should be avoided where
|
|
* possible.
|
|
* @param in the input stream
|
|
* @param systemId the URL from which the input stream was retrieved
|
|
* (necessary if there are external entities to be resolved)
|
|
* @param validating if the parser is to be a validating parser
|
|
* @param namespaceAware if the parser should support XML Namespaces
|
|
* @param coalescing if CDATA sections should be merged into adjacent text
|
|
* nodes
|
|
* @param replaceERefs if entity references should be automatically
|
|
* replaced by their replacement text (otherwise they will be reported as
|
|
* entity-reference events)
|
|
* @param externalEntities if external entities should be loaded
|
|
* @param supportDTD if support for the XML DTD should be enabled
|
|
* @param baseAware if the parser should support XML Base to resolve
|
|
* external entities
|
|
* @param stringInterning whether strings will be interned during parsing
|
|
* @param reporter the reporter to receive warnings during processing
|
|
* @param resolver the callback interface used to resolve external
|
|
* entities
|
|
*/
|
|
public XMLParser(Reader reader, String systemId,
|
|
boolean validating,
|
|
boolean namespaceAware,
|
|
boolean coalescing,
|
|
boolean replaceERefs,
|
|
boolean externalEntities,
|
|
boolean supportDTD,
|
|
boolean baseAware,
|
|
boolean stringInterning,
|
|
boolean extendedEventTypes,
|
|
XMLReporter reporter,
|
|
XMLResolver resolver)
|
|
{
|
|
this.validating = validating;
|
|
this.namespaceAware = namespaceAware;
|
|
this.coalescing = coalescing;
|
|
this.replaceERefs = replaceERefs;
|
|
this.externalEntities = externalEntities;
|
|
this.supportDTD = supportDTD;
|
|
this.baseAware = baseAware;
|
|
this.stringInterning = stringInterning;
|
|
this.extendedEventTypes = extendedEventTypes;
|
|
this.reporter = reporter;
|
|
this.resolver = resolver;
|
|
if (validating)
|
|
{
|
|
validationStack = new LinkedList();
|
|
ids = new HashSet();
|
|
idrefs = new HashSet();
|
|
}
|
|
String debug = System.getProperty("gnu.xml.debug.input");
|
|
if (debug != null)
|
|
{
|
|
try
|
|
{
|
|
File file = File.createTempFile(debug, ".xml");
|
|
reader = new TeeReader(reader, new FileWriter(file));
|
|
}
|
|
catch (IOException e)
|
|
{
|
|
RuntimeException e2 = new RuntimeException();
|
|
e2.initCause(e);
|
|
throw e2;
|
|
}
|
|
}
|
|
systemId = canonicalize(systemId);
|
|
pushInput(new Input(null, reader, null, systemId, null, null, false, true));
|
|
}
|
|
|
|
// -- NamespaceContext --
|
|
|
|
public String getNamespaceURI(String prefix)
|
|
{
|
|
if (XMLConstants.XML_NS_PREFIX.equals(prefix))
|
|
return XMLConstants.XML_NS_URI;
|
|
if (XMLConstants.XMLNS_ATTRIBUTE.equals(prefix))
|
|
return XMLConstants.XMLNS_ATTRIBUTE_NS_URI;
|
|
for (Iterator i = namespaces.iterator(); i.hasNext(); )
|
|
{
|
|
LinkedHashMap ctx = (LinkedHashMap) i.next();
|
|
String namespaceURI = (String) ctx.get(prefix);
|
|
if (namespaceURI != null)
|
|
return namespaceURI;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public String getPrefix(String namespaceURI)
|
|
{
|
|
if (XMLConstants.XML_NS_URI.equals(namespaceURI))
|
|
return XMLConstants.XML_NS_PREFIX;
|
|
if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(namespaceURI))
|
|
return XMLConstants.XMLNS_ATTRIBUTE;
|
|
for (Iterator i = namespaces.iterator(); i.hasNext(); )
|
|
{
|
|
LinkedHashMap ctx = (LinkedHashMap) i.next();
|
|
if (ctx.containsValue(namespaceURI))
|
|
{
|
|
for (Iterator j = ctx.entrySet().iterator(); j.hasNext(); )
|
|
{
|
|
Map.Entry entry = (Map.Entry) i.next();
|
|
String uri = (String) entry.getValue();
|
|
if (uri.equals(namespaceURI))
|
|
return (String) entry.getKey();
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public Iterator getPrefixes(String namespaceURI)
|
|
{
|
|
if (XMLConstants.XML_NS_URI.equals(namespaceURI))
|
|
return Collections.singleton(XMLConstants.XML_NS_PREFIX).iterator();
|
|
if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(namespaceURI))
|
|
return Collections.singleton(XMLConstants.XMLNS_ATTRIBUTE).iterator();
|
|
LinkedList acc = new LinkedList();
|
|
for (Iterator i = namespaces.iterator(); i.hasNext(); )
|
|
{
|
|
LinkedHashMap ctx = (LinkedHashMap) i.next();
|
|
if (ctx.containsValue(namespaceURI))
|
|
{
|
|
for (Iterator j = ctx.entrySet().iterator(); j.hasNext(); )
|
|
{
|
|
Map.Entry entry = (Map.Entry) i.next();
|
|
String uri = (String) entry.getValue();
|
|
if (uri.equals(namespaceURI))
|
|
acc.add(entry.getKey());
|
|
}
|
|
}
|
|
}
|
|
return acc.iterator();
|
|
}
|
|
|
|
// -- XMLStreamReader --
|
|
|
|
public void close()
|
|
throws XMLStreamException
|
|
{
|
|
stack = null;
|
|
namespaces = null;
|
|
bases = null;
|
|
buf = null;
|
|
attrs = null;
|
|
doctype = null;
|
|
|
|
inputStack = null;
|
|
validationStack = null;
|
|
ids = null;
|
|
idrefs = null;
|
|
}
|
|
|
|
public NamespaceContext getNamespaceContext()
|
|
{
|
|
return this;
|
|
}
|
|
|
|
public int getAttributeCount()
|
|
{
|
|
return attrs.size();
|
|
}
|
|
|
|
public String getAttributeLocalName(int index)
|
|
{
|
|
Attribute a = (Attribute) attrs.get(index);
|
|
return a.localName;
|
|
}
|
|
|
|
public String getAttributeNamespace(int index)
|
|
{
|
|
String prefix = getAttributePrefix(index);
|
|
return getNamespaceURI(prefix);
|
|
}
|
|
|
|
public String getAttributePrefix(int index)
|
|
{
|
|
Attribute a = (Attribute) attrs.get(index);
|
|
return a.prefix;
|
|
}
|
|
|
|
public QName getAttributeName(int index)
|
|
{
|
|
Attribute a = (Attribute) attrs.get(index);
|
|
String namespaceURI = getNamespaceURI(a.prefix);
|
|
return new QName(namespaceURI, a.localName, a.prefix);
|
|
}
|
|
|
|
public String getAttributeType(int index)
|
|
{
|
|
Attribute a = (Attribute) attrs.get(index);
|
|
return a.type;
|
|
}
|
|
|
|
private String getAttributeType(String elementName, String attName)
|
|
{
|
|
if (doctype != null)
|
|
{
|
|
AttributeDecl att = doctype.getAttributeDecl(elementName, attName);
|
|
if (att != null)
|
|
return att.type;
|
|
}
|
|
return "CDATA";
|
|
}
|
|
|
|
public String getAttributeValue(int index)
|
|
{
|
|
Attribute a = (Attribute) attrs.get(index);
|
|
return a.value;
|
|
}
|
|
|
|
public String getAttributeValue(String namespaceURI, String localName)
|
|
{
|
|
for (Iterator i = attrs.iterator(); i.hasNext(); )
|
|
{
|
|
Attribute a = (Attribute) i.next();
|
|
if (a.localName.equals(localName))
|
|
{
|
|
String uri = getNamespaceURI(a.prefix);
|
|
if ((uri == null && namespaceURI == null) ||
|
|
(uri != null && uri.equals(namespaceURI)))
|
|
return a.value;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
boolean isAttributeDeclared(int index)
|
|
{
|
|
if (doctype == null)
|
|
return false;
|
|
Attribute a = (Attribute) attrs.get(index);
|
|
String qn = ("".equals(a.prefix)) ? a.localName :
|
|
a.prefix + ":" + a.localName;
|
|
String elementName = buf.toString();
|
|
return doctype.isAttributeDeclared(elementName, qn);
|
|
}
|
|
|
|
public String getCharacterEncodingScheme()
|
|
{
|
|
return xmlEncoding;
|
|
}
|
|
|
|
public String getElementText()
|
|
throws XMLStreamException
|
|
{
|
|
if (event != XMLStreamConstants.START_ELEMENT)
|
|
throw new XMLStreamException("current event must be START_ELEMENT");
|
|
CPStringBuilder elementText = new CPStringBuilder();
|
|
int depth = stack.size();
|
|
while (event != XMLStreamConstants.END_ELEMENT || stack.size() > depth)
|
|
{
|
|
switch (next())
|
|
{
|
|
case XMLStreamConstants.CHARACTERS:
|
|
case XMLStreamConstants.SPACE:
|
|
elementText.append(buf.toString());
|
|
}
|
|
}
|
|
return elementText.toString();
|
|
}
|
|
|
|
public String getEncoding()
|
|
{
|
|
return (input.inputEncoding == null) ? "UTF-8" : input.inputEncoding;
|
|
}
|
|
|
|
public int getEventType()
|
|
{
|
|
return event;
|
|
}
|
|
|
|
public String getLocalName()
|
|
{
|
|
switch (event)
|
|
{
|
|
case XMLStreamConstants.START_ELEMENT:
|
|
case XMLStreamConstants.END_ELEMENT:
|
|
String qName = buf.toString();
|
|
int ci = qName.indexOf(':');
|
|
String localName = (ci == -1) ? qName : qName.substring(ci + 1);
|
|
if (stringInterning)
|
|
localName = localName.intern();
|
|
return localName;
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public Location getLocation()
|
|
{
|
|
return input;
|
|
}
|
|
|
|
public QName getName()
|
|
{
|
|
switch (event)
|
|
{
|
|
case XMLStreamConstants.START_ELEMENT:
|
|
case XMLStreamConstants.END_ELEMENT:
|
|
String qName = buf.toString();
|
|
int ci = qName.indexOf(':');
|
|
String localName = (ci == -1) ? qName : qName.substring(ci + 1);
|
|
if (stringInterning)
|
|
localName = localName.intern();
|
|
String prefix = (ci == -1) ?
|
|
(namespaceAware ? XMLConstants.DEFAULT_NS_PREFIX : null) :
|
|
qName.substring(0, ci);
|
|
if (stringInterning && prefix != null)
|
|
prefix = prefix.intern();
|
|
String namespaceURI = getNamespaceURI(prefix);
|
|
return new QName(namespaceURI, localName, prefix);
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public int getNamespaceCount()
|
|
{
|
|
if (!namespaceAware || namespaces.isEmpty())
|
|
return 0;
|
|
switch (event)
|
|
{
|
|
case XMLStreamConstants.START_ELEMENT:
|
|
case XMLStreamConstants.END_ELEMENT:
|
|
LinkedHashMap ctx = (LinkedHashMap) namespaces.getFirst();
|
|
return ctx.size();
|
|
default:
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
public String getNamespacePrefix(int index)
|
|
{
|
|
LinkedHashMap ctx = (LinkedHashMap) namespaces.getFirst();
|
|
int count = 0;
|
|
for (Iterator i = ctx.keySet().iterator(); i.hasNext(); )
|
|
{
|
|
String prefix = (String) i.next();
|
|
if (count++ == index)
|
|
return prefix;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public String getNamespaceURI()
|
|
{
|
|
switch (event)
|
|
{
|
|
case XMLStreamConstants.START_ELEMENT:
|
|
case XMLStreamConstants.END_ELEMENT:
|
|
String qName = buf.toString();
|
|
int ci = qName.indexOf(':');
|
|
if (ci == -1)
|
|
return null;
|
|
String prefix = qName.substring(0, ci);
|
|
return getNamespaceURI(prefix);
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public String getNamespaceURI(int index)
|
|
{
|
|
LinkedHashMap ctx = (LinkedHashMap) namespaces.getFirst();
|
|
int count = 0;
|
|
for (Iterator i = ctx.values().iterator(); i.hasNext(); )
|
|
{
|
|
String uri = (String) i.next();
|
|
if (count++ == index)
|
|
return uri;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public String getPIData()
|
|
{
|
|
return piData;
|
|
}
|
|
|
|
public String getPITarget()
|
|
{
|
|
return piTarget;
|
|
}
|
|
|
|
public String getPrefix()
|
|
{
|
|
switch (event)
|
|
{
|
|
case XMLStreamConstants.START_ELEMENT:
|
|
case XMLStreamConstants.END_ELEMENT:
|
|
String qName = buf.toString();
|
|
int ci = qName.indexOf(':');
|
|
String prefix = (ci == -1) ?
|
|
(namespaceAware ? XMLConstants.DEFAULT_NS_PREFIX : null) :
|
|
qName.substring(0, ci);
|
|
if (stringInterning && prefix != null)
|
|
prefix = prefix.intern();
|
|
return prefix;
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public Object getProperty(String name)
|
|
throws IllegalArgumentException
|
|
{
|
|
if (name == null)
|
|
throw new IllegalArgumentException("name is null");
|
|
if (XMLInputFactory.ALLOCATOR.equals(name))
|
|
return null;
|
|
if (XMLInputFactory.IS_COALESCING.equals(name))
|
|
return coalescing ? Boolean.TRUE : Boolean.FALSE;
|
|
if (XMLInputFactory.IS_NAMESPACE_AWARE.equals(name))
|
|
return namespaceAware ? Boolean.TRUE : Boolean.FALSE;
|
|
if (XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES.equals(name))
|
|
return replaceERefs ? Boolean.TRUE : Boolean.FALSE;
|
|
if (XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES.equals(name))
|
|
return externalEntities ? Boolean.TRUE : Boolean.FALSE;
|
|
if (XMLInputFactory.IS_VALIDATING.equals(name))
|
|
return Boolean.FALSE;
|
|
if (XMLInputFactory.REPORTER.equals(name))
|
|
return reporter;
|
|
if (XMLInputFactory.RESOLVER.equals(name))
|
|
return resolver;
|
|
if (XMLInputFactory.SUPPORT_DTD.equals(name))
|
|
return supportDTD ? Boolean.TRUE : Boolean.FALSE;
|
|
if ("gnu.xml.stream.stringInterning".equals(name))
|
|
return stringInterning ? Boolean.TRUE : Boolean.FALSE;
|
|
if ("gnu.xml.stream.xmlBase".equals(name))
|
|
return baseAware ? Boolean.TRUE : Boolean.FALSE;
|
|
if ("gnu.xml.stream.baseURI".equals(name))
|
|
return getXMLBase();
|
|
return null;
|
|
}
|
|
|
|
public String getText()
|
|
{
|
|
return buf.toString();
|
|
}
|
|
|
|
public char[] getTextCharacters()
|
|
{
|
|
return buf.toString().toCharArray();
|
|
}
|
|
|
|
public int getTextCharacters(int sourceStart, char[] target,
|
|
int targetStart, int length)
|
|
throws XMLStreamException
|
|
{
|
|
length = Math.min(sourceStart + buf.length(), length);
|
|
int sourceEnd = sourceStart + length;
|
|
buf.getChars(sourceStart, sourceEnd, target, targetStart);
|
|
return length;
|
|
}
|
|
|
|
public int getTextLength()
|
|
{
|
|
return buf.length();
|
|
}
|
|
|
|
public int getTextStart()
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
public String getVersion()
|
|
{
|
|
return (xmlVersion == null) ? "1.0" : xmlVersion;
|
|
}
|
|
|
|
public boolean hasName()
|
|
{
|
|
switch (event)
|
|
{
|
|
case XMLStreamConstants.START_ELEMENT:
|
|
case XMLStreamConstants.END_ELEMENT:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public boolean hasText()
|
|
{
|
|
switch (event)
|
|
{
|
|
case XMLStreamConstants.CHARACTERS:
|
|
case XMLStreamConstants.SPACE:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public boolean isAttributeSpecified(int index)
|
|
{
|
|
Attribute a = (Attribute) attrs.get(index);
|
|
return a.specified;
|
|
}
|
|
|
|
public boolean isCharacters()
|
|
{
|
|
return (event == XMLStreamConstants.CHARACTERS);
|
|
}
|
|
|
|
public boolean isEndElement()
|
|
{
|
|
return (event == XMLStreamConstants.END_ELEMENT);
|
|
}
|
|
|
|
public boolean isStandalone()
|
|
{
|
|
return Boolean.TRUE.equals(xmlStandalone);
|
|
}
|
|
|
|
public boolean isStartElement()
|
|
{
|
|
return (event == XMLStreamConstants.START_ELEMENT);
|
|
}
|
|
|
|
public boolean isWhiteSpace()
|
|
{
|
|
return (event == XMLStreamConstants.SPACE);
|
|
}
|
|
|
|
public int nextTag()
|
|
throws XMLStreamException
|
|
{
|
|
do
|
|
{
|
|
switch (next())
|
|
{
|
|
case XMLStreamConstants.START_ELEMENT:
|
|
case XMLStreamConstants.END_ELEMENT:
|
|
case XMLStreamConstants.CHARACTERS:
|
|
case XMLStreamConstants.SPACE:
|
|
case XMLStreamConstants.COMMENT:
|
|
case XMLStreamConstants.PROCESSING_INSTRUCTION:
|
|
break;
|
|
default:
|
|
throw new XMLStreamException("Unexpected event type: " + event);
|
|
}
|
|
}
|
|
while (event != XMLStreamConstants.START_ELEMENT &&
|
|
event != XMLStreamConstants.END_ELEMENT);
|
|
return event;
|
|
}
|
|
|
|
public void require(int type, String namespaceURI, String localName)
|
|
throws XMLStreamException
|
|
{
|
|
if (event != type)
|
|
throw new XMLStreamException("Current event type is " + event);
|
|
if (event == XMLStreamConstants.START_ELEMENT ||
|
|
event == XMLStreamConstants.END_ELEMENT)
|
|
{
|
|
String ln = getLocalName();
|
|
if (!ln.equals(localName))
|
|
throw new XMLStreamException("Current local-name is " + ln);
|
|
String uri = getNamespaceURI();
|
|
if ((uri == null && namespaceURI != null) ||
|
|
(uri != null && !uri.equals(namespaceURI)))
|
|
throw new XMLStreamException("Current namespace URI is " + uri);
|
|
}
|
|
}
|
|
|
|
public boolean standaloneSet()
|
|
{
|
|
return (xmlStandalone != null);
|
|
}
|
|
|
|
public boolean hasNext()
|
|
throws XMLStreamException
|
|
{
|
|
return (event != XMLStreamConstants.END_DOCUMENT && event != -1);
|
|
}
|
|
|
|
public int next()
|
|
throws XMLStreamException
|
|
{
|
|
if (event == XMLStreamConstants.END_ELEMENT)
|
|
{
|
|
// Pop namespace context
|
|
if (namespaceAware && !namespaces.isEmpty())
|
|
namespaces.removeFirst();
|
|
// Pop base context
|
|
if (baseAware && !bases.isEmpty())
|
|
bases.removeFirst();
|
|
}
|
|
if (!startEntityStack.isEmpty())
|
|
{
|
|
String entityName = (String) startEntityStack.removeFirst();
|
|
buf.setLength(0);
|
|
buf.append(entityName);
|
|
event = START_ENTITY;
|
|
return extendedEventTypes ? event : next();
|
|
}
|
|
else if (!endEntityStack.isEmpty())
|
|
{
|
|
String entityName = (String) endEntityStack.removeFirst();
|
|
buf.setLength(0);
|
|
buf.append(entityName);
|
|
event = END_ENTITY;
|
|
return extendedEventTypes ? event : next();
|
|
}
|
|
try
|
|
{
|
|
if (!input.initialized)
|
|
input.init();
|
|
switch (state)
|
|
{
|
|
case CONTENT:
|
|
if (tryRead(TEST_END_ELEMENT))
|
|
{
|
|
readEndElement();
|
|
if (stack.isEmpty())
|
|
state = MISC;
|
|
event = XMLStreamConstants.END_ELEMENT;
|
|
}
|
|
else if (tryRead(TEST_COMMENT))
|
|
{
|
|
readComment(false);
|
|
event = XMLStreamConstants.COMMENT;
|
|
}
|
|
else if (tryRead(TEST_PI))
|
|
{
|
|
readPI(false);
|
|
event = XMLStreamConstants.PROCESSING_INSTRUCTION;
|
|
}
|
|
else if (tryRead(TEST_CDATA))
|
|
{
|
|
readCDSect();
|
|
event = XMLStreamConstants.CDATA;
|
|
}
|
|
else if (tryRead(TEST_START_ELEMENT))
|
|
{
|
|
state = readStartElement();
|
|
event = XMLStreamConstants.START_ELEMENT;
|
|
}
|
|
else
|
|
{
|
|
// Check for character reference or predefined entity
|
|
mark(8);
|
|
int c = readCh();
|
|
if (c == 0x26) // '&'
|
|
{
|
|
c = readCh();
|
|
if (c == 0x23) // '#'
|
|
{
|
|
reset();
|
|
event = readCharData(null);
|
|
}
|
|
else
|
|
{
|
|
// entity reference
|
|
reset();
|
|
readCh(); // &
|
|
readReference();
|
|
String ref = buf.toString();
|
|
String text = (String) PREDEFINED_ENTITIES.get(ref);
|
|
if (text != null)
|
|
{
|
|
event = readCharData(text);
|
|
}
|
|
else if (replaceERefs && !isUnparsedEntity(ref))
|
|
{
|
|
// this will report a start-entity event
|
|
boolean external = false;
|
|
if (doctype != null)
|
|
{
|
|
Object entity = doctype.getEntity(ref);
|
|
if (entity instanceof ExternalIds)
|
|
external = true;
|
|
}
|
|
expandEntity(ref, false, external);
|
|
event = next();
|
|
}
|
|
else
|
|
{
|
|
event = XMLStreamConstants.ENTITY_REFERENCE;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
reset();
|
|
event = readCharData(null);
|
|
if (validating && doctype != null)
|
|
validatePCData(buf.toString());
|
|
}
|
|
}
|
|
break;
|
|
case EMPTY_ELEMENT:
|
|
String elementName = (String) stack.removeLast();
|
|
buf.setLength(0);
|
|
buf.append(elementName);
|
|
state = stack.isEmpty() ? MISC : CONTENT;
|
|
event = XMLStreamConstants.END_ELEMENT;
|
|
if (validating && doctype != null)
|
|
endElementValidationHook();
|
|
break;
|
|
case INIT: // XMLDecl?
|
|
if (tryRead(TEST_XML_DECL))
|
|
readXMLDecl();
|
|
input.finalizeEncoding();
|
|
event = XMLStreamConstants.START_DOCUMENT;
|
|
state = PROLOG;
|
|
break;
|
|
case PROLOG: // Misc* (doctypedecl Misc*)?
|
|
skipWhitespace();
|
|
if (doctype == null && tryRead(TEST_DOCTYPE_DECL))
|
|
{
|
|
readDoctypeDecl();
|
|
event = XMLStreamConstants.DTD;
|
|
}
|
|
else if (tryRead(TEST_COMMENT))
|
|
{
|
|
readComment(false);
|
|
event = XMLStreamConstants.COMMENT;
|
|
}
|
|
else if (tryRead(TEST_PI))
|
|
{
|
|
readPI(false);
|
|
event = XMLStreamConstants.PROCESSING_INSTRUCTION;
|
|
}
|
|
else if (tryRead(TEST_START_ELEMENT))
|
|
{
|
|
state = readStartElement();
|
|
event = XMLStreamConstants.START_ELEMENT;
|
|
}
|
|
else
|
|
{
|
|
int c = readCh();
|
|
error("no root element: U+" + Integer.toHexString(c));
|
|
}
|
|
break;
|
|
case MISC: // Comment | PI | S
|
|
skipWhitespace();
|
|
if (tryRead(TEST_COMMENT))
|
|
{
|
|
readComment(false);
|
|
event = XMLStreamConstants.COMMENT;
|
|
}
|
|
else if (tryRead(TEST_PI))
|
|
{
|
|
readPI(false);
|
|
event = XMLStreamConstants.PROCESSING_INSTRUCTION;
|
|
}
|
|
else
|
|
{
|
|
if (event == XMLStreamConstants.END_DOCUMENT)
|
|
throw new NoSuchElementException();
|
|
int c = readCh();
|
|
if (c != -1)
|
|
error("Only comments and PIs may appear after " +
|
|
"the root element");
|
|
event = XMLStreamConstants.END_DOCUMENT;
|
|
}
|
|
break;
|
|
default:
|
|
event = -1;
|
|
}
|
|
return event;
|
|
}
|
|
catch (IOException e)
|
|
{
|
|
XMLStreamException e2 = new XMLStreamException();
|
|
e2.initCause(e);
|
|
throw e2;
|
|
}
|
|
}
|
|
|
|
// package private
|
|
|
|
/**
|
|
* Returns the current element name.
|
|
*/
|
|
String getCurrentElement()
|
|
{
|
|
return (String) stack.getLast();
|
|
}
|
|
|
|
// private
|
|
|
|
private void mark(int limit)
|
|
throws IOException
|
|
{
|
|
input.mark(limit);
|
|
}
|
|
|
|
private void reset()
|
|
throws IOException
|
|
{
|
|
input.reset();
|
|
}
|
|
|
|
private int read()
|
|
throws IOException
|
|
{
|
|
return input.read();
|
|
}
|
|
|
|
private int read(int[] b, int off, int len)
|
|
throws IOException
|
|
{
|
|
return input.read(b, off, len);
|
|
}
|
|
|
|
/**
|
|
* Parsed character read.
|
|
*/
|
|
private int readCh()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
int c = read();
|
|
if (expandPE && c == 0x25) // '%'
|
|
{
|
|
if (peIsError)
|
|
error("PE reference within decl in internal subset.");
|
|
expandPEReference();
|
|
return readCh();
|
|
}
|
|
return c;
|
|
}
|
|
|
|
/**
|
|
* Reads the next character, ensuring it is the character specified.
|
|
* @param delim the character to match
|
|
* @exception XMLStreamException if the next character is not the
|
|
* specified one
|
|
*/
|
|
private void require(char delim)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
mark(1);
|
|
int c = readCh();
|
|
if (delim != c)
|
|
{
|
|
reset();
|
|
error("required character (got U+" + Integer.toHexString(c) + ")",
|
|
new Character(delim));
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Reads the next few characters, ensuring they match the string specified.
|
|
* @param delim the string to match
|
|
* @exception XMLStreamException if the next characters do not match the
|
|
* specified string
|
|
*/
|
|
private void require(String delim)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
char[] chars = delim.toCharArray();
|
|
int len = chars.length;
|
|
mark(len);
|
|
int off = 0;
|
|
do
|
|
{
|
|
int l2 = read(tmpBuf, off, len - off);
|
|
if (l2 == -1)
|
|
{
|
|
reset();
|
|
error("EOF before required string", delim);
|
|
}
|
|
off += l2;
|
|
}
|
|
while (off < len);
|
|
for (int i = 0; i < chars.length; i++)
|
|
{
|
|
if (chars[i] != tmpBuf[i])
|
|
{
|
|
reset();
|
|
error("required string", delim);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Try to read a single character. On failure, reset the stream.
|
|
* @param delim the character to test
|
|
* @return true if the character matched delim, false otherwise.
|
|
*/
|
|
private boolean tryRead(char delim)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
mark(1);
|
|
int c = readCh();
|
|
if (delim != c)
|
|
{
|
|
reset();
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Tries to read the specified characters.
|
|
* If successful, the stream is positioned after the last character,
|
|
* otherwise it is reset.
|
|
* @param test the string to test
|
|
* @return true if the characters matched the test string, false otherwise.
|
|
*/
|
|
private boolean tryRead(String test)
|
|
throws IOException
|
|
{
|
|
char[] chars = test.toCharArray();
|
|
int len = chars.length;
|
|
mark(len);
|
|
int count = 0;
|
|
int l2 = read(tmpBuf, 0, len);
|
|
if (l2 == -1)
|
|
{
|
|
reset();
|
|
return false;
|
|
}
|
|
count += l2;
|
|
// check the characters we received first before doing additional reads
|
|
for (int i = 0; i < count; i++)
|
|
{
|
|
if (chars[i] != tmpBuf[i])
|
|
{
|
|
reset();
|
|
return false;
|
|
}
|
|
}
|
|
while (count < len)
|
|
{
|
|
// force read
|
|
int c = read();
|
|
if (c == -1)
|
|
{
|
|
reset();
|
|
return false;
|
|
}
|
|
tmpBuf[count] = (char) c;
|
|
// check each character as it is read
|
|
if (chars[count] != tmpBuf[count])
|
|
{
|
|
reset();
|
|
return false;
|
|
}
|
|
count++;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Reads characters until the specified test string is encountered.
|
|
* @param delim the string delimiting the end of the characters
|
|
*/
|
|
private void readUntil(String delim)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
int startLine = input.line;
|
|
try
|
|
{
|
|
while (!tryRead(delim))
|
|
{
|
|
int c = readCh();
|
|
if (c == -1)
|
|
throw new EOFException();
|
|
else if (input.xml11)
|
|
{
|
|
if (!isXML11Char(c) || isXML11RestrictedChar(c))
|
|
error("illegal XML 1.1 character",
|
|
"U+" + Integer.toHexString(c));
|
|
}
|
|
else if (!isChar(c))
|
|
error("illegal XML character",
|
|
"U+" + Integer.toHexString(c));
|
|
buf.append(Character.toChars(c));
|
|
}
|
|
}
|
|
catch (EOFException e)
|
|
{
|
|
error("end of input while looking for delimiter "+
|
|
"(started on line " + startLine + ')', delim);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Reads any whitespace characters.
|
|
* @return true if whitespace characters were read, false otherwise
|
|
*/
|
|
private boolean tryWhitespace()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
boolean white;
|
|
boolean ret = false;
|
|
do
|
|
{
|
|
mark(1);
|
|
int c = readCh();
|
|
while (c == -1 && inputStack.size() > 1)
|
|
{
|
|
popInput();
|
|
c = readCh();
|
|
}
|
|
white = (c == 0x20 || c == 0x09 || c == 0x0a || c == 0x0d);
|
|
if (white)
|
|
ret = true;
|
|
}
|
|
while (white);
|
|
reset();
|
|
return ret;
|
|
}
|
|
|
|
/**
|
|
* Skip over any whitespace characters.
|
|
*/
|
|
private void skipWhitespace()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
boolean white;
|
|
do
|
|
{
|
|
mark(1);
|
|
int c = readCh();
|
|
while (c == -1 && inputStack.size() > 1)
|
|
{
|
|
popInput();
|
|
c = readCh();
|
|
}
|
|
white = (c == 0x20 || c == 0x09 || c == 0x0a || c == 0x0d);
|
|
}
|
|
while (white);
|
|
reset();
|
|
}
|
|
|
|
/**
|
|
* Try to read as many whitespace characters as are available.
|
|
* @exception XMLStreamException if no whitespace characters were seen
|
|
*/
|
|
private void requireWhitespace()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
if (!tryWhitespace())
|
|
error("whitespace required");
|
|
}
|
|
|
|
/**
|
|
* Returns the current base URI for resolving external entities.
|
|
*/
|
|
String getXMLBase()
|
|
{
|
|
if (baseAware)
|
|
{
|
|
for (Iterator i = bases.iterator(); i.hasNext(); )
|
|
{
|
|
String base = (String) i.next();
|
|
if (base != null)
|
|
return base;
|
|
}
|
|
}
|
|
return input.systemId;
|
|
}
|
|
|
|
/**
|
|
* Push the specified text input source.
|
|
*/
|
|
private void pushInput(String name, String text, boolean report,
|
|
boolean normalize)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
// Check for recursion
|
|
if (name != null && !"".equals(name))
|
|
{
|
|
for (Iterator i = inputStack.iterator(); i.hasNext(); )
|
|
{
|
|
Input ctx = (Input) i.next();
|
|
if (name.equals(ctx.name))
|
|
error("entities may not be self-recursive", name);
|
|
}
|
|
}
|
|
else
|
|
report = false;
|
|
pushInput(new Input(null, new StringReader(text), input.publicId,
|
|
input.systemId, name, input.inputEncoding, report,
|
|
normalize));
|
|
}
|
|
|
|
/**
|
|
* Push the specified external input source.
|
|
*/
|
|
private void pushInput(String name, ExternalIds ids, boolean report,
|
|
boolean normalize)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
if (!externalEntities)
|
|
return;
|
|
String url = canonicalize(absolutize(input.systemId, ids.systemId));
|
|
// Check for recursion
|
|
for (Iterator i = inputStack.iterator(); i.hasNext(); )
|
|
{
|
|
Input ctx = (Input) i.next();
|
|
if (url.equals(ctx.systemId))
|
|
error("entities may not be self-recursive", url);
|
|
if (name != null && !"".equals(name) && name.equals(ctx.name))
|
|
error("entities may not be self-recursive", name);
|
|
}
|
|
if (name == null || "".equals(name))
|
|
report = false;
|
|
InputStream in = null;
|
|
if (resolver != null)
|
|
{
|
|
Object obj = resolver.resolveEntity(ids.publicId, url, getXMLBase(),
|
|
null);
|
|
if (obj instanceof InputStream)
|
|
in = (InputStream) obj;
|
|
}
|
|
if (in == null)
|
|
in = resolve(url);
|
|
if (in == null)
|
|
error("unable to resolve external entity",
|
|
(ids.systemId != null) ? ids.systemId : ids.publicId);
|
|
pushInput(new Input(in, null, ids.publicId, url, name, null, report,
|
|
normalize));
|
|
input.init();
|
|
if (tryRead(TEST_XML_DECL))
|
|
readTextDecl();
|
|
input.finalizeEncoding();
|
|
}
|
|
|
|
/**
|
|
* Push the specified input source (general entity) onto the input stack.
|
|
*/
|
|
private void pushInput(Input input)
|
|
{
|
|
if (input.report)
|
|
startEntityStack.addFirst(input.name);
|
|
inputStack.addLast(input);
|
|
if (this.input != null)
|
|
input.xml11 = this.input.xml11;
|
|
this.input = input;
|
|
}
|
|
|
|
/**
|
|
* Returns a canonicalized version of the specified URL.
|
|
* This is largely to work around a problem with the specification of
|
|
* file URLs.
|
|
*/
|
|
static String canonicalize(String url)
|
|
{
|
|
if (url == null)
|
|
return null;
|
|
if (url.startsWith("file:") && !url.startsWith("file://"))
|
|
url = "file://" + url.substring(5);
|
|
return url;
|
|
}
|
|
|
|
/**
|
|
* "Absolutize" a URL. This resolves a relative URL into an absolute one.
|
|
* @param base the current base URL
|
|
* @param href the (absolute or relative) URL to resolve
|
|
*/
|
|
public static String absolutize(String base, String href)
|
|
{
|
|
if (href == null)
|
|
return null;
|
|
int ci = href.indexOf(':');
|
|
if (ci > 1 && isURLScheme(href.substring(0, ci)))
|
|
{
|
|
// href is absolute already
|
|
return href;
|
|
}
|
|
if (base == null)
|
|
base = "";
|
|
else
|
|
{
|
|
int i = base.lastIndexOf('/');
|
|
if (i != -1)
|
|
base = base.substring(0, i + 1);
|
|
else
|
|
base = "";
|
|
}
|
|
if ("".equals(base))
|
|
{
|
|
// assume file URL relative to current directory
|
|
base = System.getProperty("user.dir");
|
|
if (base.charAt(0) == '/')
|
|
base = base.substring(1);
|
|
base = "file:///" + base.replace(File.separatorChar, '/');
|
|
if (!base.endsWith("/"))
|
|
base += "/";
|
|
}
|
|
// We can't use java.net.URL here to do the parsing, as it searches for
|
|
// a protocol handler. A protocol handler may not be registered for the
|
|
// URL scheme here. Do it manually.
|
|
//
|
|
// Set aside scheme and host portion of base URL
|
|
String basePrefix = null;
|
|
ci = base.indexOf(':');
|
|
if (ci > 1 && isURLScheme(base.substring(0, ci)))
|
|
{
|
|
if (base.length() > (ci + 3) &&
|
|
base.charAt(ci + 1) == '/' &&
|
|
base.charAt(ci + 2) == '/')
|
|
{
|
|
int si = base.indexOf('/', ci + 3);
|
|
if (si == -1)
|
|
base = null;
|
|
else
|
|
{
|
|
basePrefix = base.substring(0, si);
|
|
base = base.substring(si);
|
|
}
|
|
}
|
|
else
|
|
base = null;
|
|
}
|
|
if (base == null) // unknown or malformed base URL, use href
|
|
return href;
|
|
if (href.startsWith("/")) // absolute href pathname
|
|
return (basePrefix == null) ? href : basePrefix + href;
|
|
// relative href pathname
|
|
if (!base.endsWith("/"))
|
|
{
|
|
int lsi = base.lastIndexOf('/');
|
|
if (lsi == -1)
|
|
base = "/";
|
|
else
|
|
base = base.substring(0, lsi + 1);
|
|
}
|
|
while (href.startsWith("../") || href.startsWith("./"))
|
|
{
|
|
if (href.startsWith("../"))
|
|
{
|
|
// strip last path component from base
|
|
int lsi = base.lastIndexOf('/', base.length() - 2);
|
|
if (lsi > -1)
|
|
base = base.substring(0, lsi + 1);
|
|
href = href.substring(3); // strip ../ prefix
|
|
}
|
|
else
|
|
{
|
|
href = href.substring(2); // strip ./ prefix
|
|
}
|
|
}
|
|
return (basePrefix == null) ? base + href : basePrefix + base + href;
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified characters match the scheme portion of
|
|
* a URL.
|
|
* @see RFC 1738 section 2.1
|
|
*/
|
|
private static boolean isURLScheme(String text)
|
|
{
|
|
int len = text.length();
|
|
for (int i = 0; i < len; i++)
|
|
{
|
|
char c = text.charAt(i);
|
|
if (c == '+' || c == '.' || c == '-')
|
|
continue;
|
|
if (c < 65 || (c > 90 && c < 97) || c > 122)
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Returns an input stream for the given URL.
|
|
*/
|
|
static InputStream resolve(String url)
|
|
throws IOException
|
|
{
|
|
try
|
|
{
|
|
return new URL(url).openStream();
|
|
}
|
|
catch (MalformedURLException e)
|
|
{
|
|
return null;
|
|
}
|
|
catch (IOException e)
|
|
{
|
|
IOException e2 = new IOException("error resolving " + url);
|
|
e2.initCause(e);
|
|
throw e2;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Pops the current input source (general entity) off the stack.
|
|
*/
|
|
private void popInput()
|
|
{
|
|
Input old = (Input) inputStack.removeLast();
|
|
if (old.report)
|
|
endEntityStack.addFirst(old.name);
|
|
input = (Input) inputStack.getLast();
|
|
}
|
|
|
|
/**
|
|
* Parse an entity text declaration.
|
|
*/
|
|
private void readTextDecl()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
final int flags = LIT_DISABLE_CREF | LIT_DISABLE_PE | LIT_DISABLE_EREF;
|
|
requireWhitespace();
|
|
if (tryRead("version"))
|
|
{
|
|
readEq();
|
|
String v = readLiteral(flags, false);
|
|
if ("1.0".equals(v))
|
|
input.xml11 = false;
|
|
else if ("1.1".equals(v))
|
|
{
|
|
Input i1 = (Input) inputStack.getFirst();
|
|
if (!i1.xml11)
|
|
error("external entity specifies later version number");
|
|
input.xml11 = true;
|
|
}
|
|
else
|
|
throw new XMLStreamException("illegal XML version: " + v);
|
|
requireWhitespace();
|
|
}
|
|
require("encoding");
|
|
readEq();
|
|
String enc = readLiteral(flags, false);
|
|
skipWhitespace();
|
|
require("?>");
|
|
input.setInputEncoding(enc);
|
|
}
|
|
|
|
/**
|
|
* Parse the XML declaration.
|
|
*/
|
|
private void readXMLDecl()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
final int flags = LIT_DISABLE_CREF | LIT_DISABLE_PE | LIT_DISABLE_EREF;
|
|
|
|
requireWhitespace();
|
|
require("version");
|
|
readEq();
|
|
xmlVersion = readLiteral(flags, false);
|
|
if ("1.0".equals(xmlVersion))
|
|
input.xml11 = false;
|
|
else if ("1.1".equals(xmlVersion))
|
|
input.xml11 = true;
|
|
else
|
|
throw new XMLStreamException("illegal XML version: " + xmlVersion);
|
|
|
|
boolean white = tryWhitespace();
|
|
|
|
if (tryRead("encoding"))
|
|
{
|
|
if (!white)
|
|
error("whitespace required before 'encoding='");
|
|
readEq();
|
|
xmlEncoding = readLiteral(flags, false);
|
|
white = tryWhitespace();
|
|
}
|
|
|
|
if (tryRead("standalone"))
|
|
{
|
|
if (!white)
|
|
error("whitespace required before 'standalone='");
|
|
readEq();
|
|
String standalone = readLiteral(flags, false);
|
|
if ("yes".equals(standalone))
|
|
xmlStandalone = Boolean.TRUE;
|
|
else if ("no".equals(standalone))
|
|
xmlStandalone = Boolean.FALSE;
|
|
else
|
|
error("standalone flag must be 'yes' or 'no'", standalone);
|
|
}
|
|
|
|
skipWhitespace();
|
|
require("?>");
|
|
if (xmlEncoding != null)
|
|
input.setInputEncoding(xmlEncoding);
|
|
}
|
|
|
|
/**
|
|
* Parse the DOCTYPE declaration.
|
|
*/
|
|
private void readDoctypeDecl()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
if (!supportDTD)
|
|
error("parser was configured not to support DTDs");
|
|
requireWhitespace();
|
|
String rootName = readNmtoken(true);
|
|
skipWhitespace();
|
|
ExternalIds ids = readExternalIds(false, true);
|
|
doctype =
|
|
this.new Doctype(rootName, ids.publicId, ids.systemId);
|
|
|
|
// Parse internal subset first
|
|
skipWhitespace();
|
|
if (tryRead('['))
|
|
{
|
|
while (true)
|
|
{
|
|
expandPE = true;
|
|
skipWhitespace();
|
|
expandPE = false;
|
|
if (tryRead(']'))
|
|
break;
|
|
else
|
|
readMarkupdecl(false);
|
|
}
|
|
}
|
|
skipWhitespace();
|
|
require('>');
|
|
|
|
// Parse external subset
|
|
if (ids.systemId != null && externalEntities)
|
|
{
|
|
pushInput("", ">", false, false);
|
|
pushInput("[dtd]", ids, true, true);
|
|
// loop until we get back to ">"
|
|
while (true)
|
|
{
|
|
expandPE = true;
|
|
skipWhitespace();
|
|
expandPE = false;
|
|
mark(1);
|
|
int c = readCh();
|
|
if (c == 0x3e) // '>'
|
|
break;
|
|
else if (c == -1)
|
|
popInput();
|
|
else
|
|
{
|
|
reset();
|
|
expandPE = true;
|
|
readMarkupdecl(true);
|
|
expandPE = true;
|
|
}
|
|
}
|
|
if (inputStack.size() != 2)
|
|
error("external subset has unmatched '>'");
|
|
popInput();
|
|
}
|
|
checkDoctype();
|
|
if (validating)
|
|
validateDoctype();
|
|
|
|
// Make rootName available for reading
|
|
buf.setLength(0);
|
|
buf.append(rootName);
|
|
}
|
|
|
|
/**
|
|
* Checks the well-formedness of the DTD.
|
|
*/
|
|
private void checkDoctype()
|
|
throws XMLStreamException
|
|
{
|
|
// TODO check entity recursion
|
|
}
|
|
|
|
/**
|
|
* Parse the markupdecl production.
|
|
*/
|
|
private void readMarkupdecl(boolean inExternalSubset)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
boolean saved = expandPE;
|
|
mark(1);
|
|
require('<');
|
|
reset();
|
|
expandPE = false;
|
|
if (tryRead(TEST_ELEMENT_DECL))
|
|
{
|
|
expandPE = saved;
|
|
readElementDecl();
|
|
}
|
|
else if (tryRead(TEST_ATTLIST_DECL))
|
|
{
|
|
expandPE = saved;
|
|
readAttlistDecl();
|
|
}
|
|
else if (tryRead(TEST_ENTITY_DECL))
|
|
{
|
|
expandPE = saved;
|
|
readEntityDecl(inExternalSubset);
|
|
}
|
|
else if (tryRead(TEST_NOTATION_DECL))
|
|
{
|
|
expandPE = saved;
|
|
readNotationDecl(inExternalSubset);
|
|
}
|
|
else if (tryRead(TEST_PI))
|
|
{
|
|
readPI(true);
|
|
expandPE = saved;
|
|
}
|
|
else if (tryRead(TEST_COMMENT))
|
|
{
|
|
readComment(true);
|
|
expandPE = saved;
|
|
}
|
|
else if (tryRead("<!["))
|
|
{
|
|
// conditional section
|
|
expandPE = saved;
|
|
if (inputStack.size() < 2)
|
|
error("conditional sections illegal in internal subset");
|
|
skipWhitespace();
|
|
if (tryRead("INCLUDE"))
|
|
{
|
|
skipWhitespace();
|
|
require('[');
|
|
skipWhitespace();
|
|
while (!tryRead("]]>"))
|
|
{
|
|
readMarkupdecl(inExternalSubset);
|
|
skipWhitespace();
|
|
}
|
|
}
|
|
else if (tryRead("IGNORE"))
|
|
{
|
|
skipWhitespace();
|
|
require('[');
|
|
expandPE = false;
|
|
for (int nesting = 1; nesting > 0; )
|
|
{
|
|
int c = readCh();
|
|
switch (c)
|
|
{
|
|
case 0x3c: // '<'
|
|
if (tryRead("!["))
|
|
nesting++;
|
|
break;
|
|
case 0x5d: // ']'
|
|
if (tryRead("]>"))
|
|
nesting--;
|
|
break;
|
|
case -1:
|
|
throw new EOFException();
|
|
}
|
|
}
|
|
expandPE = saved;
|
|
}
|
|
else
|
|
error("conditional section must begin with INCLUDE or IGNORE");
|
|
}
|
|
else
|
|
error("expected markup declaration");
|
|
}
|
|
|
|
/**
|
|
* Parse the elementdecl production.
|
|
*/
|
|
private void readElementDecl()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
requireWhitespace();
|
|
boolean saved = expandPE;
|
|
expandPE = (inputStack.size() > 1);
|
|
String name = readNmtoken(true);
|
|
expandPE = saved;
|
|
requireWhitespace();
|
|
readContentspec(name);
|
|
skipWhitespace();
|
|
require('>');
|
|
}
|
|
|
|
/**
|
|
* Parse the contentspec production.
|
|
*/
|
|
private void readContentspec(String elementName)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
if (tryRead("EMPTY"))
|
|
doctype.addElementDecl(elementName, "EMPTY", new EmptyContentModel());
|
|
else if (tryRead("ANY"))
|
|
doctype.addElementDecl(elementName, "ANY", new AnyContentModel());
|
|
else
|
|
{
|
|
ContentModel model;
|
|
CPStringBuilder acc = new CPStringBuilder();
|
|
require('(');
|
|
acc.append('(');
|
|
skipWhitespace();
|
|
if (tryRead("#PCDATA"))
|
|
{
|
|
// mixed content
|
|
acc.append("#PCDATA");
|
|
MixedContentModel mm = new MixedContentModel();
|
|
model = mm;
|
|
skipWhitespace();
|
|
if (tryRead(')'))
|
|
{
|
|
acc.append(")");
|
|
if (tryRead('*'))
|
|
{
|
|
mm.min = 0;
|
|
mm.max = -1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
while (!tryRead(")"))
|
|
{
|
|
require('|');
|
|
acc.append('|');
|
|
skipWhitespace();
|
|
String name = readNmtoken(true);
|
|
acc.append(name);
|
|
mm.addName(name);
|
|
skipWhitespace();
|
|
}
|
|
require('*');
|
|
acc.append(")*");
|
|
mm.min = 0;
|
|
mm.max = -1;
|
|
}
|
|
}
|
|
else
|
|
model = readElements(acc);
|
|
doctype.addElementDecl(elementName, acc.toString(), model);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Parses an element content model.
|
|
*/
|
|
private ElementContentModel readElements(CPStringBuilder acc)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
int separator;
|
|
ElementContentModel model = new ElementContentModel();
|
|
|
|
// Parse first content particle
|
|
skipWhitespace();
|
|
model.addContentParticle(readContentParticle(acc));
|
|
// End or separator
|
|
skipWhitespace();
|
|
int c = readCh();
|
|
switch (c)
|
|
{
|
|
case 0x29: // ')'
|
|
acc.append(')');
|
|
mark(1);
|
|
c = readCh();
|
|
switch (c)
|
|
{
|
|
case 0x3f: // '?'
|
|
acc.append('?');
|
|
model.min = 0;
|
|
model.max = 1;
|
|
break;
|
|
case 0x2a: // '*'
|
|
acc.append('*');
|
|
model.min = 0;
|
|
model.max = -1;
|
|
break;
|
|
case 0x2b: // '+'
|
|
acc.append('+');
|
|
model.min = 1;
|
|
model.max = -1;
|
|
break;
|
|
default:
|
|
reset();
|
|
}
|
|
return model; // done
|
|
case 0x7c: // '|'
|
|
model.or = true;
|
|
// fall through
|
|
case 0x2c: // ','
|
|
separator = c;
|
|
acc.append(Character.toChars(c));
|
|
break;
|
|
default:
|
|
error("bad separator in content model",
|
|
"U+" + Integer.toHexString(c));
|
|
return model;
|
|
}
|
|
// Parse subsequent content particles
|
|
while (true)
|
|
{
|
|
skipWhitespace();
|
|
model.addContentParticle(readContentParticle(acc));
|
|
skipWhitespace();
|
|
c = readCh();
|
|
if (c == 0x29) // ')'
|
|
{
|
|
acc.append(')');
|
|
break;
|
|
}
|
|
else if (c != separator)
|
|
{
|
|
error("bad separator in content model",
|
|
"U+" + Integer.toHexString(c));
|
|
return model;
|
|
}
|
|
else
|
|
acc.append(c);
|
|
}
|
|
// Check for occurrence indicator
|
|
mark(1);
|
|
c = readCh();
|
|
switch (c)
|
|
{
|
|
case 0x3f: // '?'
|
|
acc.append('?');
|
|
model.min = 0;
|
|
model.max = 1;
|
|
break;
|
|
case 0x2a: // '*'
|
|
acc.append('*');
|
|
model.min = 0;
|
|
model.max = -1;
|
|
break;
|
|
case 0x2b: // '+'
|
|
acc.append('+');
|
|
model.min = 1;
|
|
model.max = -1;
|
|
break;
|
|
default:
|
|
reset();
|
|
}
|
|
return model;
|
|
}
|
|
|
|
/**
|
|
* Parse a cp production.
|
|
*/
|
|
private ContentParticle readContentParticle(CPStringBuilder acc)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
ContentParticle cp = new ContentParticle();
|
|
if (tryRead('('))
|
|
{
|
|
acc.append('(');
|
|
cp.content = readElements(acc);
|
|
}
|
|
else
|
|
{
|
|
String name = readNmtoken(true);
|
|
acc.append(name);
|
|
cp.content = name;
|
|
mark(1);
|
|
int c = readCh();
|
|
switch (c)
|
|
{
|
|
case 0x3f: // '?'
|
|
acc.append('?');
|
|
cp.min = 0;
|
|
cp.max = 1;
|
|
break;
|
|
case 0x2a: // '*'
|
|
acc.append('*');
|
|
cp.min = 0;
|
|
cp.max = -1;
|
|
break;
|
|
case 0x2b: // '+'
|
|
acc.append('+');
|
|
cp.min = 1;
|
|
cp.max = -1;
|
|
break;
|
|
default:
|
|
reset();
|
|
}
|
|
}
|
|
return cp;
|
|
}
|
|
|
|
/**
|
|
* Parse an attribute-list definition.
|
|
*/
|
|
private void readAttlistDecl()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
requireWhitespace();
|
|
boolean saved = expandPE;
|
|
expandPE = (inputStack.size() > 1);
|
|
String elementName = readNmtoken(true);
|
|
expandPE = saved;
|
|
boolean white = tryWhitespace();
|
|
while (!tryRead('>'))
|
|
{
|
|
if (!white)
|
|
error("whitespace required before attribute definition");
|
|
readAttDef(elementName);
|
|
white = tryWhitespace();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Parse a single attribute definition.
|
|
*/
|
|
private void readAttDef(String elementName)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
String name = readNmtoken(true);
|
|
requireWhitespace();
|
|
CPStringBuilder acc = new CPStringBuilder();
|
|
HashSet values = new HashSet();
|
|
String type = readAttType(acc, values);
|
|
if (validating)
|
|
{
|
|
if ("ID".equals(type))
|
|
{
|
|
// VC: One ID per Element Type
|
|
for (Iterator i = doctype.attlistIterator(elementName);
|
|
i.hasNext(); )
|
|
{
|
|
Map.Entry entry = (Map.Entry) i.next();
|
|
AttributeDecl decl = (AttributeDecl) entry.getValue();
|
|
if ("ID".equals(decl.type))
|
|
error("element types must not have more than one ID " +
|
|
"attribute");
|
|
}
|
|
}
|
|
else if ("NOTATION".equals(type))
|
|
{
|
|
// VC: One Notation Per Element Type
|
|
for (Iterator i = doctype.attlistIterator(elementName);
|
|
i.hasNext(); )
|
|
{
|
|
Map.Entry entry = (Map.Entry) i.next();
|
|
AttributeDecl decl = (AttributeDecl) entry.getValue();
|
|
if ("NOTATION".equals(decl.type))
|
|
error("element types must not have more than one NOTATION " +
|
|
"attribute");
|
|
}
|
|
// VC: No Notation on Empty Element
|
|
ContentModel model = doctype.getElementModel(elementName);
|
|
if (model != null && model.type == ContentModel.EMPTY)
|
|
error("attributes of type NOTATION must not be declared on an " +
|
|
"element declared EMPTY");
|
|
}
|
|
}
|
|
String enumer = null;
|
|
if ("ENUMERATION".equals(type) || "NOTATION".equals(type))
|
|
enumer = acc.toString();
|
|
else
|
|
values = null;
|
|
requireWhitespace();
|
|
readDefault(elementName, name, type, enumer, values);
|
|
}
|
|
|
|
/**
|
|
* Parse an attribute type.
|
|
*/
|
|
private String readAttType(CPStringBuilder acc, HashSet values)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
if (tryRead('('))
|
|
{
|
|
readEnumeration(false, acc, values);
|
|
return "ENUMERATION";
|
|
}
|
|
else
|
|
{
|
|
String typeString = readNmtoken(true);
|
|
if ("NOTATION".equals(typeString))
|
|
{
|
|
readNotationType(acc, values);
|
|
return typeString;
|
|
}
|
|
else if ("CDATA".equals(typeString) ||
|
|
"ID".equals(typeString) ||
|
|
"IDREF".equals(typeString) ||
|
|
"IDREFS".equals(typeString) ||
|
|
"ENTITY".equals(typeString) ||
|
|
"ENTITIES".equals(typeString) ||
|
|
"NMTOKEN".equals(typeString) ||
|
|
"NMTOKENS".equals(typeString))
|
|
return typeString;
|
|
else
|
|
{
|
|
error("illegal attribute type", typeString);
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Parse an enumeration.
|
|
*/
|
|
private void readEnumeration(boolean isNames, CPStringBuilder acc,
|
|
HashSet values)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
acc.append('(');
|
|
// first token
|
|
skipWhitespace();
|
|
String token = readNmtoken(isNames);
|
|
acc.append(token);
|
|
values.add(token);
|
|
// subsequent tokens
|
|
skipWhitespace();
|
|
while (!tryRead(')'))
|
|
{
|
|
require('|');
|
|
acc.append('|');
|
|
skipWhitespace();
|
|
token = readNmtoken(isNames);
|
|
// VC: No Duplicate Tokens
|
|
if (validating && values.contains(token))
|
|
error("duplicate token", token);
|
|
acc.append(token);
|
|
values.add(token);
|
|
skipWhitespace();
|
|
}
|
|
acc.append(')');
|
|
}
|
|
|
|
/**
|
|
* Parse a notation type for an attribute.
|
|
*/
|
|
private void readNotationType(CPStringBuilder acc, HashSet values)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
requireWhitespace();
|
|
require('(');
|
|
readEnumeration(true, acc, values);
|
|
}
|
|
|
|
/**
|
|
* Parse the default value for an attribute.
|
|
*/
|
|
private void readDefault(String elementName, String name,
|
|
String type, String enumeration, HashSet values)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
int valueType = ATTRIBUTE_DEFAULT_SPECIFIED;
|
|
int flags = LIT_ATTRIBUTE;
|
|
String value = null, defaultType = null;
|
|
boolean saved = expandPE;
|
|
|
|
if (!"CDATA".equals(type))
|
|
flags |= LIT_NORMALIZE;
|
|
|
|
expandPE = false;
|
|
if (tryRead('#'))
|
|
{
|
|
if (tryRead("FIXED"))
|
|
{
|
|
defaultType = "#FIXED";
|
|
valueType = ATTRIBUTE_DEFAULT_FIXED;
|
|
requireWhitespace();
|
|
value = readLiteral(flags, false);
|
|
}
|
|
else if (tryRead("REQUIRED"))
|
|
{
|
|
defaultType = "#REQUIRED";
|
|
valueType = ATTRIBUTE_DEFAULT_REQUIRED;
|
|
}
|
|
else if (tryRead("IMPLIED"))
|
|
{
|
|
defaultType = "#IMPLIED";
|
|
valueType = ATTRIBUTE_DEFAULT_IMPLIED;
|
|
}
|
|
else
|
|
error("illegal keyword for attribute default value");
|
|
}
|
|
else
|
|
value = readLiteral(flags, false);
|
|
expandPE = saved;
|
|
if (validating)
|
|
{
|
|
if ("ID".equals(type))
|
|
{
|
|
// VC: Attribute Default Value Syntactically Correct
|
|
if (value != null && !isNmtoken(value, true))
|
|
error("default value must match Name production", value);
|
|
// VC: ID Attribute Default
|
|
if (valueType != ATTRIBUTE_DEFAULT_REQUIRED &&
|
|
valueType != ATTRIBUTE_DEFAULT_IMPLIED)
|
|
error("ID attributes must have a declared default of " +
|
|
"#IMPLIED or #REQUIRED");
|
|
}
|
|
else if (value != null)
|
|
{
|
|
// VC: Attribute Default Value Syntactically Correct
|
|
if ("IDREF".equals(type) || "ENTITY".equals(type))
|
|
{
|
|
if (!isNmtoken(value, true))
|
|
error("default value must match Name production", value);
|
|
}
|
|
else if ("IDREFS".equals(type) || "ENTITIES".equals(type))
|
|
{
|
|
StringTokenizer st = new StringTokenizer(value);
|
|
while (st.hasMoreTokens())
|
|
{
|
|
String token = st.nextToken();
|
|
if (!isNmtoken(token, true))
|
|
error("default value must match Name production", token);
|
|
}
|
|
}
|
|
else if ("NMTOKEN".equals(type) || "ENUMERATION".equals(type))
|
|
{
|
|
if (!isNmtoken(value, false))
|
|
error("default value must match Nmtoken production", value);
|
|
}
|
|
else if ("NMTOKENS".equals(type))
|
|
{
|
|
StringTokenizer st = new StringTokenizer(value);
|
|
while (st.hasMoreTokens())
|
|
{
|
|
String token = st.nextToken();
|
|
if (!isNmtoken(token, false))
|
|
error("default value must match Nmtoken production",
|
|
token);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// Register attribute def
|
|
AttributeDecl attribute =
|
|
new AttributeDecl(type, value, valueType, enumeration, values,
|
|
inputStack.size() != 1);
|
|
doctype.addAttributeDecl(elementName, name, attribute);
|
|
}
|
|
|
|
/**
|
|
* Parse the EntityDecl production.
|
|
*/
|
|
private void readEntityDecl(boolean inExternalSubset)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
int flags = 0;
|
|
// Check if parameter entity
|
|
boolean peFlag = false;
|
|
expandPE = false;
|
|
requireWhitespace();
|
|
if (tryRead('%'))
|
|
{
|
|
peFlag = true;
|
|
requireWhitespace();
|
|
}
|
|
expandPE = true;
|
|
// Read entity name
|
|
String name = readNmtoken(true);
|
|
if (name.indexOf(':') != -1)
|
|
error("illegal character ':' in entity name", name);
|
|
if (peFlag)
|
|
name = "%" + name;
|
|
requireWhitespace();
|
|
mark(1);
|
|
int c = readCh();
|
|
reset();
|
|
if (c == 0x22 || c == 0x27) // " | '
|
|
{
|
|
// Internal entity replacement text
|
|
String value = readLiteral(flags | LIT_DISABLE_EREF, true);
|
|
int ai = value.indexOf('&');
|
|
while (ai != -1)
|
|
{
|
|
int sci = value.indexOf(';', ai);
|
|
if (sci == -1)
|
|
error("malformed reference in entity value", value);
|
|
String ref = value.substring(ai + 1, sci);
|
|
int[] cp = UnicodeReader.toCodePointArray(ref);
|
|
if (cp.length == 0)
|
|
error("malformed reference in entity value", value);
|
|
if (cp[0] == 0x23) // #
|
|
{
|
|
if (cp.length == 1)
|
|
error("malformed reference in entity value", value);
|
|
if (cp[1] == 0x78) // 'x'
|
|
{
|
|
if (cp.length == 2)
|
|
error("malformed reference in entity value", value);
|
|
for (int i = 2; i < cp.length; i++)
|
|
{
|
|
int x = cp[i];
|
|
if (x < 0x30 ||
|
|
(x > 0x39 && x < 0x41) ||
|
|
(x > 0x46 && x < 0x61) ||
|
|
x > 0x66)
|
|
error("malformed character reference in entity value",
|
|
value);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
for (int i = 1; i < cp.length; i++)
|
|
{
|
|
int x = cp[i];
|
|
if (x < 0x30 || x > 0x39)
|
|
error("malformed character reference in entity value",
|
|
value);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (!isNameStartCharacter(cp[0], input.xml11))
|
|
error("malformed reference in entity value", value);
|
|
for (int i = 1; i < cp.length; i++)
|
|
{
|
|
if (!isNameCharacter(cp[i], input.xml11))
|
|
error("malformed reference in entity value", value);
|
|
}
|
|
}
|
|
ai = value.indexOf('&', sci);
|
|
}
|
|
doctype.addEntityDecl(name, value, inExternalSubset);
|
|
}
|
|
else
|
|
{
|
|
ExternalIds ids = readExternalIds(false, false);
|
|
// Check for NDATA
|
|
boolean white = tryWhitespace();
|
|
if (!peFlag && tryRead("NDATA"))
|
|
{
|
|
if (!white)
|
|
error("whitespace required before NDATA");
|
|
requireWhitespace();
|
|
ids.notationName = readNmtoken(true);
|
|
}
|
|
doctype.addEntityDecl(name, ids, inExternalSubset);
|
|
}
|
|
// finish
|
|
skipWhitespace();
|
|
require('>');
|
|
}
|
|
|
|
/**
|
|
* Parse the NotationDecl production.
|
|
*/
|
|
private void readNotationDecl(boolean inExternalSubset)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
requireWhitespace();
|
|
String notationName = readNmtoken(true);
|
|
if (notationName.indexOf(':') != -1)
|
|
error("illegal character ':' in notation name", notationName);
|
|
if (validating)
|
|
{
|
|
// VC: Unique Notation Name
|
|
ExternalIds notation = doctype.getNotation(notationName);
|
|
if (notation != null)
|
|
error("duplicate notation name", notationName);
|
|
}
|
|
requireWhitespace();
|
|
ExternalIds ids = readExternalIds(true, false);
|
|
ids.notationName = notationName;
|
|
doctype.addNotationDecl(notationName, ids, inExternalSubset);
|
|
skipWhitespace();
|
|
require('>');
|
|
}
|
|
|
|
/**
|
|
* Returns a tuple {publicId, systemId}.
|
|
*/
|
|
private ExternalIds readExternalIds(boolean inNotation, boolean isSubset)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
int c;
|
|
int flags = LIT_DISABLE_CREF | LIT_DISABLE_PE | LIT_DISABLE_EREF;
|
|
ExternalIds ids = new ExternalIds();
|
|
|
|
if (tryRead("PUBLIC"))
|
|
{
|
|
requireWhitespace();
|
|
ids.publicId = readLiteral(LIT_NORMALIZE | LIT_PUBID | flags, false);
|
|
if (inNotation)
|
|
{
|
|
skipWhitespace();
|
|
mark(1);
|
|
c = readCh();
|
|
reset();
|
|
if (c == 0x22 || c == 0x27) // " | '
|
|
{
|
|
String href = readLiteral(flags, false);
|
|
ids.systemId = absolutize(input.systemId, href);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
requireWhitespace();
|
|
String href = readLiteral(flags, false);
|
|
ids.systemId = absolutize(input.systemId, href);
|
|
}
|
|
// Check valid URI characters
|
|
for (int i = 0; i < ids.publicId.length(); i++)
|
|
{
|
|
char d = ids.publicId.charAt(i);
|
|
if (d >= 'a' && d <= 'z')
|
|
continue;
|
|
if (d >= 'A' && d <= 'Z')
|
|
continue;
|
|
if (" \r\n0123456789-' ()+,./:=?;!*#@$_%".indexOf(d) != -1)
|
|
continue;
|
|
error("illegal PUBLIC id character",
|
|
"U+" + Integer.toHexString(d));
|
|
}
|
|
}
|
|
else if (tryRead("SYSTEM"))
|
|
{
|
|
requireWhitespace();
|
|
String href = readLiteral(flags, false);
|
|
ids.systemId = absolutize(input.systemId, href);
|
|
}
|
|
else if (!isSubset)
|
|
{
|
|
error("missing SYSTEM or PUBLIC keyword");
|
|
}
|
|
if (ids.systemId != null && !inNotation)
|
|
{
|
|
if (ids.systemId.indexOf('#') != -1)
|
|
error("SYSTEM id has a URI fragment", ids.systemId);
|
|
}
|
|
return ids;
|
|
}
|
|
|
|
/**
|
|
* Parse the start of an element.
|
|
* @return the state of the parser afterwards (EMPTY_ELEMENT or CONTENT)
|
|
*/
|
|
private int readStartElement()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
// Read element name
|
|
String elementName = readNmtoken(true);
|
|
attrs.clear();
|
|
// Push namespace context
|
|
if (namespaceAware)
|
|
{
|
|
if (elementName.charAt(0) == ':' ||
|
|
elementName.charAt(elementName.length() - 1) == ':')
|
|
error("not a QName", elementName);
|
|
namespaces.addFirst(new LinkedHashMap());
|
|
}
|
|
// Read element content
|
|
boolean white = tryWhitespace();
|
|
mark(1);
|
|
int c = readCh();
|
|
while (c != 0x2f && c != 0x3e) // '/' | '>'
|
|
{
|
|
// Read attribute
|
|
reset();
|
|
if (!white)
|
|
error("need whitespace between attributes");
|
|
readAttribute(elementName);
|
|
white = tryWhitespace();
|
|
mark(1);
|
|
c = readCh();
|
|
}
|
|
// supply defaulted attributes
|
|
if (doctype != null)
|
|
{
|
|
for (Iterator i = doctype.attlistIterator(elementName); i.hasNext(); )
|
|
{
|
|
Map.Entry entry = (Map.Entry) i.next();
|
|
String attName = (String) entry.getKey();
|
|
AttributeDecl decl = (AttributeDecl) entry.getValue();
|
|
if (validating)
|
|
{
|
|
switch (decl.valueType)
|
|
{
|
|
case ATTRIBUTE_DEFAULT_REQUIRED:
|
|
// VC: Required Attribute
|
|
if (decl.value == null && !attributeSpecified(attName))
|
|
error("value for " + attName + " attribute is required");
|
|
break;
|
|
case ATTRIBUTE_DEFAULT_FIXED:
|
|
// VC: Fixed Attribute Default
|
|
for (Iterator j = attrs.iterator(); j.hasNext(); )
|
|
{
|
|
Attribute a = (Attribute) j.next();
|
|
if (attName.equals(a.name) &&
|
|
!decl.value.equals(a.value))
|
|
error("value for " + attName + " attribute must be " +
|
|
decl.value);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
if (namespaceAware && attName.equals("xmlns"))
|
|
{
|
|
LinkedHashMap ctx =
|
|
(LinkedHashMap) namespaces.getFirst();
|
|
if (ctx.containsKey(XMLConstants.DEFAULT_NS_PREFIX))
|
|
continue; // namespace was specified
|
|
}
|
|
else if (namespaceAware && attName.startsWith("xmlns:"))
|
|
{
|
|
LinkedHashMap ctx =
|
|
(LinkedHashMap) namespaces.getFirst();
|
|
if (ctx.containsKey(attName.substring(6)))
|
|
continue; // namespace was specified
|
|
}
|
|
else if (attributeSpecified(attName))
|
|
continue;
|
|
if (decl.value == null)
|
|
continue;
|
|
// VC: Standalone Document Declaration
|
|
if (validating && decl.external && xmlStandalone == Boolean.TRUE)
|
|
error("standalone must be 'no' if attributes inherit values " +
|
|
"from externally declared markup declarations");
|
|
Attribute attr =
|
|
new Attribute(attName, decl.type, false, decl.value);
|
|
if (namespaceAware)
|
|
{
|
|
if (!addNamespace(attr))
|
|
attrs.add(attr);
|
|
}
|
|
else
|
|
attrs.add(attr);
|
|
}
|
|
}
|
|
if (baseAware)
|
|
{
|
|
String uri = getAttributeValue(XMLConstants.XML_NS_URI, "base");
|
|
String base = getXMLBase();
|
|
bases.addFirst(absolutize(base, uri));
|
|
}
|
|
if (namespaceAware)
|
|
{
|
|
// check prefix bindings
|
|
int ci = elementName.indexOf(':');
|
|
if (ci != -1)
|
|
{
|
|
String prefix = elementName.substring(0, ci);
|
|
String uri = getNamespaceURI(prefix);
|
|
if (uri == null)
|
|
error("unbound element prefix", prefix);
|
|
else if (input.xml11 && "".equals(uri))
|
|
error("XML 1.1 unbound element prefix", prefix);
|
|
}
|
|
for (Iterator i = attrs.iterator(); i.hasNext(); )
|
|
{
|
|
Attribute attr = (Attribute) i.next();
|
|
if (attr.prefix != null &&
|
|
!XMLConstants.XMLNS_ATTRIBUTE.equals(attr.prefix))
|
|
{
|
|
String uri = getNamespaceURI(attr.prefix);
|
|
if (uri == null)
|
|
error("unbound attribute prefix", attr.prefix);
|
|
else if (input.xml11 && "".equals(uri))
|
|
error("XML 1.1 unbound attribute prefix", attr.prefix);
|
|
}
|
|
}
|
|
}
|
|
if (validating && doctype != null)
|
|
{
|
|
validateStartElement(elementName);
|
|
currentContentModel = doctype.getElementModel(elementName);
|
|
if (currentContentModel == null)
|
|
error("no element declaration", elementName);
|
|
validationStack.add(new LinkedList());
|
|
}
|
|
// make element name available for read
|
|
buf.setLength(0);
|
|
buf.append(elementName);
|
|
// push element onto stack
|
|
stack.addLast(elementName);
|
|
switch (c)
|
|
{
|
|
case 0x3e: // '>'
|
|
return CONTENT;
|
|
case 0x2f: // '/'
|
|
require('>');
|
|
return EMPTY_ELEMENT;
|
|
}
|
|
return -1; // to satisfy compiler
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified attribute name was specified for the
|
|
* current element.
|
|
*/
|
|
private boolean attributeSpecified(String attName)
|
|
{
|
|
for (Iterator j = attrs.iterator(); j.hasNext(); )
|
|
{
|
|
Attribute a = (Attribute) j.next();
|
|
if (attName.equals(a.name))
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Parse an attribute.
|
|
*/
|
|
private void readAttribute(String elementName)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
// Read attribute name
|
|
String attributeName = readNmtoken(true);
|
|
String type = getAttributeType(elementName, attributeName);
|
|
readEq();
|
|
// Read literal
|
|
final int flags = LIT_ATTRIBUTE | LIT_ENTITY_REF;
|
|
String value = (type == null || "CDATA".equals(type)) ?
|
|
readLiteral(flags, false) : readLiteral(flags | LIT_NORMALIZE, false);
|
|
// add attribute event
|
|
Attribute attr = this.new Attribute(attributeName, type, true, value);
|
|
if (namespaceAware)
|
|
{
|
|
if (attributeName.charAt(0) == ':' ||
|
|
attributeName.charAt(attributeName.length() - 1) == ':')
|
|
error("not a QName", attributeName);
|
|
else if (attributeName.equals("xmlns"))
|
|
{
|
|
LinkedHashMap ctx = (LinkedHashMap) namespaces.getFirst();
|
|
if (ctx.containsKey(XMLConstants.DEFAULT_NS_PREFIX))
|
|
error("duplicate default namespace");
|
|
}
|
|
else if (attributeName.startsWith("xmlns:"))
|
|
{
|
|
LinkedHashMap ctx = (LinkedHashMap) namespaces.getFirst();
|
|
if (ctx.containsKey(attributeName.substring(6)))
|
|
error("duplicate namespace", attributeName.substring(6));
|
|
}
|
|
else if (attrs.contains(attr))
|
|
error("duplicate attribute", attributeName);
|
|
}
|
|
else if (attrs.contains(attr))
|
|
error("duplicate attribute", attributeName);
|
|
if (validating && doctype != null)
|
|
{
|
|
// VC: Attribute Value Type
|
|
AttributeDecl decl =
|
|
doctype.getAttributeDecl(elementName, attributeName);
|
|
if (decl == null)
|
|
error("attribute must be declared", attributeName);
|
|
if ("ENUMERATION".equals(decl.type))
|
|
{
|
|
// VC: Enumeration
|
|
if (!decl.values.contains(value))
|
|
error("value does not match enumeration " + decl.enumeration,
|
|
value);
|
|
}
|
|
else if ("ID".equals(decl.type))
|
|
{
|
|
// VC: ID
|
|
if (!isNmtoken(value, true))
|
|
error("ID values must match the Name production");
|
|
if (ids.contains(value))
|
|
error("Duplicate ID", value);
|
|
ids.add(value);
|
|
}
|
|
else if ("IDREF".equals(decl.type) || "IDREFS".equals(decl.type))
|
|
{
|
|
StringTokenizer st = new StringTokenizer(value);
|
|
while (st.hasMoreTokens())
|
|
{
|
|
String token = st.nextToken();
|
|
// VC: IDREF
|
|
if (!isNmtoken(token, true))
|
|
error("IDREF values must match the Name production");
|
|
idrefs.add(token);
|
|
}
|
|
}
|
|
else if ("NMTOKEN".equals(decl.type) || "NMTOKENS".equals(decl.type))
|
|
{
|
|
StringTokenizer st = new StringTokenizer(value);
|
|
while (st.hasMoreTokens())
|
|
{
|
|
String token = st.nextToken();
|
|
// VC: Name Token
|
|
if (!isNmtoken(token, false))
|
|
error("NMTOKEN values must match the Nmtoken production");
|
|
}
|
|
}
|
|
else if ("ENTITY".equals(decl.type))
|
|
{
|
|
// VC: Entity Name
|
|
if (!isNmtoken(value, true))
|
|
error("ENTITY values must match the Name production");
|
|
Object entity = doctype.getEntity(value);
|
|
if (entity == null || !(entity instanceof ExternalIds) ||
|
|
((ExternalIds) entity).notationName == null)
|
|
error("ENTITY values must match the name of an unparsed " +
|
|
"entity declared in the DTD");
|
|
}
|
|
else if ("NOTATION".equals(decl.type))
|
|
{
|
|
if (!decl.values.contains(value))
|
|
error("NOTATION values must match a declared notation name",
|
|
value);
|
|
// VC: Notation Attributes
|
|
ExternalIds notation = doctype.getNotation(value);
|
|
if (notation == null)
|
|
error("NOTATION values must match the name of a notation " +
|
|
"declared in the DTD", value);
|
|
}
|
|
}
|
|
if (namespaceAware)
|
|
{
|
|
if (!addNamespace(attr))
|
|
attrs.add(attr);
|
|
}
|
|
else
|
|
attrs.add(attr);
|
|
}
|
|
|
|
/**
|
|
* Determines whether the specified attribute is a namespace declaration,
|
|
* and adds it to the current namespace context if so. Returns false if
|
|
* the attribute is an ordinary attribute.
|
|
*/
|
|
private boolean addNamespace(Attribute attr)
|
|
throws XMLStreamException
|
|
{
|
|
if ("xmlns".equals(attr.name))
|
|
{
|
|
LinkedHashMap ctx = (LinkedHashMap) namespaces.getFirst();
|
|
if (ctx.get(XMLConstants.DEFAULT_NS_PREFIX) != null)
|
|
error("Duplicate default namespace declaration");
|
|
if (XMLConstants.XML_NS_URI.equals(attr.value))
|
|
error("can't bind XML namespace");
|
|
ctx.put(XMLConstants.DEFAULT_NS_PREFIX, attr.value);
|
|
return true;
|
|
}
|
|
else if ("xmlns".equals(attr.prefix))
|
|
{
|
|
LinkedHashMap ctx = (LinkedHashMap) namespaces.getFirst();
|
|
if (ctx.get(attr.localName) != null)
|
|
error("Duplicate namespace declaration for prefix",
|
|
attr.localName);
|
|
if (XMLConstants.XML_NS_PREFIX.equals(attr.localName))
|
|
{
|
|
if (!XMLConstants.XML_NS_URI.equals(attr.value))
|
|
error("can't redeclare xml prefix");
|
|
else
|
|
return false; // treat as attribute
|
|
}
|
|
if (XMLConstants.XML_NS_URI.equals(attr.value))
|
|
error("can't bind non-xml prefix to XML namespace");
|
|
if (XMLConstants.XMLNS_ATTRIBUTE.equals(attr.localName))
|
|
error("can't redeclare xmlns prefix");
|
|
if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(attr.value))
|
|
error("can't bind non-xmlns prefix to XML Namespace namespace");
|
|
if ("".equals(attr.value) && !input.xml11)
|
|
error("illegal use of 1.1-style prefix unbinding in 1.0 document");
|
|
ctx.put(attr.localName, attr.value);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Parse a closing tag.
|
|
*/
|
|
private void readEndElement()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
// pop element off stack
|
|
String expected = (String) stack.removeLast();
|
|
require(expected);
|
|
skipWhitespace();
|
|
require('>');
|
|
// Make element name available
|
|
buf.setLength(0);
|
|
buf.append(expected);
|
|
if (validating && doctype != null)
|
|
endElementValidationHook();
|
|
}
|
|
|
|
/**
|
|
* Validate the end of an element.
|
|
* Called on an end-element or empty element if validating.
|
|
*/
|
|
private void endElementValidationHook()
|
|
throws XMLStreamException
|
|
{
|
|
validateEndElement();
|
|
validationStack.removeLast();
|
|
if (stack.isEmpty())
|
|
currentContentModel = null;
|
|
else
|
|
{
|
|
String parent = (String) stack.getLast();
|
|
currentContentModel = doctype.getElementModel(parent);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Parse a comment.
|
|
*/
|
|
private void readComment(boolean inDTD)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
boolean saved = expandPE;
|
|
expandPE = false;
|
|
buf.setLength(0);
|
|
readUntil(TEST_END_COMMENT);
|
|
require('>');
|
|
expandPE = saved;
|
|
if (inDTD)
|
|
doctype.addComment(buf.toString());
|
|
}
|
|
|
|
/**
|
|
* Parse a processing instruction.
|
|
*/
|
|
private void readPI(boolean inDTD)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
boolean saved = expandPE;
|
|
expandPE = false;
|
|
piTarget = readNmtoken(true);
|
|
if (piTarget.indexOf(':') != -1)
|
|
error("illegal character in PI target", new Character(':'));
|
|
if ("xml".equalsIgnoreCase(piTarget))
|
|
error("illegal PI target", piTarget);
|
|
if (tryRead(TEST_END_PI))
|
|
piData = null;
|
|
else
|
|
{
|
|
if (!tryWhitespace())
|
|
error("whitespace required between PI target and data");
|
|
buf.setLength(0);
|
|
readUntil(TEST_END_PI);
|
|
piData = buf.toString();
|
|
}
|
|
expandPE = saved;
|
|
if (inDTD)
|
|
doctype.addPI(piTarget, piData);
|
|
}
|
|
|
|
/**
|
|
* Parse an entity reference.
|
|
*/
|
|
private void readReference()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
buf.setLength(0);
|
|
String entityName = readNmtoken(true);
|
|
require(';');
|
|
buf.setLength(0);
|
|
buf.append(entityName);
|
|
}
|
|
|
|
/**
|
|
* Read an CDATA section.
|
|
*/
|
|
private void readCDSect()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
buf.setLength(0);
|
|
readUntil(TEST_END_CDATA);
|
|
}
|
|
|
|
/**
|
|
* Read character data.
|
|
* @return the type of text read (CHARACTERS or SPACE)
|
|
*/
|
|
private int readCharData(String prefix)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
boolean white = true;
|
|
buf.setLength(0);
|
|
if (prefix != null)
|
|
buf.append(prefix);
|
|
boolean done = false;
|
|
boolean entities = false;
|
|
while (!done)
|
|
{
|
|
// Block read
|
|
mark(tmpBuf.length);
|
|
int len = read(tmpBuf, 0, tmpBuf.length);
|
|
if (len == -1)
|
|
{
|
|
if (inputStack.size() > 1)
|
|
{
|
|
popInput();
|
|
// report end-entity
|
|
done = true;
|
|
}
|
|
else
|
|
throw new EOFException();
|
|
}
|
|
for (int i = 0; i < len && !done; i++)
|
|
{
|
|
int c = tmpBuf[i];
|
|
switch (c)
|
|
{
|
|
case 0x20:
|
|
case 0x09:
|
|
case 0x0a:
|
|
case 0x0d:
|
|
buf.append(Character.toChars(c));
|
|
break; // whitespace
|
|
case 0x26: // '&'
|
|
reset();
|
|
read(tmpBuf, 0, i);
|
|
// character reference?
|
|
mark(3);
|
|
c = readCh(); // &
|
|
c = readCh();
|
|
if (c == 0x23) // '#'
|
|
{
|
|
mark(1);
|
|
c = readCh();
|
|
boolean hex = (c == 0x78); // 'x'
|
|
if (!hex)
|
|
reset();
|
|
char[] ch = readCharacterRef(hex ? 16 : 10);
|
|
buf.append(ch, 0, ch.length);
|
|
for (int j = 0; j < ch.length; j++)
|
|
{
|
|
switch (ch[j])
|
|
{
|
|
case 0x20:
|
|
case 0x09:
|
|
case 0x0a:
|
|
case 0x0d:
|
|
break; // whitespace
|
|
default:
|
|
white = false;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// entity reference
|
|
reset();
|
|
c = readCh(); // &
|
|
String entityName = readNmtoken(true);
|
|
require(';');
|
|
String text =
|
|
(String) PREDEFINED_ENTITIES.get(entityName);
|
|
if (text != null)
|
|
buf.append(text);
|
|
else
|
|
{
|
|
pushInput("", "&" + entityName + ";", false, false);
|
|
done = true;
|
|
break;
|
|
}
|
|
}
|
|
// continue processing
|
|
i = -1;
|
|
mark(tmpBuf.length);
|
|
len = read(tmpBuf, 0, tmpBuf.length);
|
|
if (len == -1)
|
|
{
|
|
if (inputStack.size() > 1)
|
|
{
|
|
popInput();
|
|
done = true;
|
|
}
|
|
else
|
|
throw new EOFException();
|
|
}
|
|
entities = true;
|
|
break; // end of text sequence
|
|
case 0x3e: // '>'
|
|
int l = buf.length();
|
|
if (l > 1 &&
|
|
buf.charAt(l - 1) == ']' &&
|
|
buf.charAt(l - 2) == ']')
|
|
error("Character data may not contain unescaped ']]>'");
|
|
buf.append(Character.toChars(c));
|
|
break;
|
|
case 0x3c: // '<'
|
|
reset();
|
|
// read i characters
|
|
int count = 0, remaining = i;
|
|
do
|
|
{
|
|
int r = read(tmpBuf, 0, remaining);
|
|
count += r;
|
|
remaining -= r;
|
|
}
|
|
while (count < i);
|
|
i = len;
|
|
if (coalescing && tryRead(TEST_CDATA))
|
|
readUntil(TEST_END_CDATA); // read CDATA section into buf
|
|
else
|
|
done = true; // end of text sequence
|
|
break;
|
|
default:
|
|
if (input.xml11)
|
|
{
|
|
if (!isXML11Char(c) || isXML11RestrictedChar(c))
|
|
error("illegal XML 1.1 character",
|
|
"U+" + Integer.toHexString(c));
|
|
}
|
|
else if (!isChar(c))
|
|
error("illegal XML character",
|
|
"U+" + Integer.toHexString(c));
|
|
white = false;
|
|
buf.append(Character.toChars(c));
|
|
}
|
|
}
|
|
// if text buffer >= 2MB, return it as a chunk
|
|
// to avoid excessive memory use
|
|
if (buf.length() >= 2097152)
|
|
done = true;
|
|
}
|
|
if (entities)
|
|
normalizeCRLF(buf);
|
|
return white ? XMLStreamConstants.SPACE : XMLStreamConstants.CHARACTERS;
|
|
}
|
|
|
|
/**
|
|
* Expands the specified entity.
|
|
*/
|
|
private void expandEntity(String name, boolean inAttr, boolean normalize)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
if (doctype != null)
|
|
{
|
|
Object value = doctype.getEntity(name);
|
|
if (value != null)
|
|
{
|
|
if (xmlStandalone == Boolean.TRUE)
|
|
{
|
|
// VC: Standalone Document Declaration
|
|
if (doctype.isEntityExternal(name))
|
|
error("reference to external entity in standalone document");
|
|
else if (value instanceof ExternalIds)
|
|
{
|
|
ExternalIds ids = (ExternalIds) value;
|
|
if (ids.notationName != null &&
|
|
doctype.isNotationExternal(ids.notationName))
|
|
error("reference to external notation in " +
|
|
"standalone document");
|
|
}
|
|
}
|
|
if (value instanceof String)
|
|
{
|
|
String text = (String) value;
|
|
if (inAttr && text.indexOf('<') != -1)
|
|
error("< in attribute value");
|
|
pushInput(name, text, !inAttr, normalize);
|
|
}
|
|
else if (inAttr)
|
|
error("reference to external entity in attribute value", name);
|
|
else
|
|
pushInput(name, (ExternalIds) value, !inAttr, normalize);
|
|
return;
|
|
}
|
|
}
|
|
error("reference to undeclared entity", name);
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified entity is unparsed.
|
|
*/
|
|
private boolean isUnparsedEntity(String name)
|
|
{
|
|
if (doctype != null)
|
|
{
|
|
Object value = doctype.getEntity(name);
|
|
if (value != null && value instanceof ExternalIds)
|
|
return ((ExternalIds) value).notationName != null;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Read an equals sign.
|
|
*/
|
|
private void readEq()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
skipWhitespace();
|
|
require('=');
|
|
skipWhitespace();
|
|
}
|
|
|
|
/**
|
|
* Character read for reading literals.
|
|
* @param recognizePEs whether to recognize parameter-entity references
|
|
*/
|
|
private int literalReadCh(boolean recognizePEs)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
int c = recognizePEs ? readCh() : read();
|
|
while (c == -1)
|
|
{
|
|
if (inputStack.size() > 1)
|
|
{
|
|
inputStack.removeLast();
|
|
input = (Input) inputStack.getLast();
|
|
// Don't issue end-entity
|
|
c = recognizePEs ? readCh() : read();
|
|
}
|
|
else
|
|
throw new EOFException();
|
|
}
|
|
return c;
|
|
}
|
|
|
|
/**
|
|
* Read a string literal.
|
|
*/
|
|
private String readLiteral(int flags, boolean recognizePEs)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
boolean saved = expandPE;
|
|
int delim = readCh();
|
|
if (delim != 0x27 && delim != 0x22)
|
|
error("expected '\"' or \"'\"", "U+" + Integer.toHexString(delim));
|
|
literalBuf.setLength(0);
|
|
if ((flags & LIT_DISABLE_PE) != 0)
|
|
expandPE = false;
|
|
boolean entities = false;
|
|
int inputStackSize = inputStack.size();
|
|
do
|
|
{
|
|
int c = literalReadCh(recognizePEs);
|
|
if (c == delim && inputStackSize == inputStack.size())
|
|
break;
|
|
switch (c)
|
|
{
|
|
case 0x0a:
|
|
case 0x0d:
|
|
if ((flags & (LIT_ATTRIBUTE | LIT_PUBID)) != 0)
|
|
c = 0x20; // normalize to space
|
|
break;
|
|
case 0x09:
|
|
if ((flags & LIT_ATTRIBUTE) != 0)
|
|
c = 0x20; // normalize to space
|
|
break;
|
|
case 0x26: // '&'
|
|
mark(2);
|
|
c = readCh();
|
|
if (c == 0x23) // '#'
|
|
{
|
|
if ((flags & LIT_DISABLE_CREF) != 0)
|
|
{
|
|
reset();
|
|
c = 0x26; // '&'
|
|
}
|
|
else
|
|
{
|
|
mark(1);
|
|
c = readCh();
|
|
boolean hex = (c == 0x78); // 'x'
|
|
if (!hex)
|
|
reset();
|
|
char[] ref = readCharacterRef(hex ? 16 : 10);
|
|
for (int i = 0; i < ref.length; i++)
|
|
literalBuf.append(ref[i]);
|
|
entities = true;
|
|
continue;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ((flags & LIT_DISABLE_EREF) != 0)
|
|
{
|
|
reset();
|
|
c = 0x26; // '&'
|
|
}
|
|
else
|
|
{
|
|
reset();
|
|
String entityName = readNmtoken(true);
|
|
require(';');
|
|
String text =
|
|
(String) PREDEFINED_ENTITIES.get(entityName);
|
|
if (text != null)
|
|
literalBuf.append(text);
|
|
else
|
|
expandEntity(entityName,
|
|
(flags & LIT_ATTRIBUTE) != 0,
|
|
true);
|
|
entities = true;
|
|
continue;
|
|
}
|
|
}
|
|
break;
|
|
case 0x3c: // '<'
|
|
if ((flags & LIT_ATTRIBUTE) != 0)
|
|
error("attribute values may not contain '<'");
|
|
break;
|
|
case -1:
|
|
if (inputStack.size() > 1)
|
|
{
|
|
popInput();
|
|
continue;
|
|
}
|
|
throw new EOFException();
|
|
default:
|
|
if ((c < 0x0020 || c > 0xfffd) ||
|
|
(c >= 0xd800 && c < 0xdc00) ||
|
|
(input.xml11 && (c >= 0x007f) &&
|
|
(c <= 0x009f) && (c != 0x0085)))
|
|
error("illegal character", "U+" + Integer.toHexString(c));
|
|
}
|
|
literalBuf.append(Character.toChars(c));
|
|
}
|
|
while (true);
|
|
expandPE = saved;
|
|
if (entities)
|
|
normalizeCRLF(literalBuf);
|
|
if ((flags & LIT_NORMALIZE) > 0)
|
|
literalBuf = normalize(literalBuf);
|
|
return literalBuf.toString();
|
|
}
|
|
|
|
/**
|
|
* Performs attribute-value normalization of the text buffer.
|
|
* This discards leading and trailing whitespace, and replaces sequences
|
|
* of whitespace with a single space.
|
|
*/
|
|
private StringBuffer normalize(StringBuffer buf)
|
|
{
|
|
StringBuffer acc = new StringBuffer();
|
|
int len = buf.length();
|
|
int avState = 0;
|
|
for (int i = 0; i < len; i++)
|
|
{
|
|
char c = buf.charAt(i);
|
|
if (c == ' ')
|
|
avState = (avState == 0) ? 0 : 1;
|
|
else
|
|
{
|
|
if (avState == 1)
|
|
acc.append(' ');
|
|
acc.append(c);
|
|
avState = 2;
|
|
}
|
|
}
|
|
return acc;
|
|
}
|
|
|
|
/**
|
|
* Replace any CR/LF pairs in the buffer with LF.
|
|
* This may be necessary if combinations of CR or LF were declared as
|
|
* (character) entity references in the input.
|
|
*/
|
|
private void normalizeCRLF(StringBuffer buf)
|
|
{
|
|
int len = buf.length() - 1;
|
|
for (int i = 0; i < len; i++)
|
|
{
|
|
char c = buf.charAt(i);
|
|
if (c == '\r' && buf.charAt(i + 1) == '\n')
|
|
{
|
|
buf.deleteCharAt(i--);
|
|
len--;
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Parse and expand a parameter entity reference.
|
|
*/
|
|
private void expandPEReference()
|
|
throws IOException, XMLStreamException
|
|
{
|
|
String name = readNmtoken(true, new StringBuffer());
|
|
require(';');
|
|
mark(1); // ensure we don't reset to before the semicolon
|
|
if (doctype != null)
|
|
{
|
|
String entityName = "%" + name;
|
|
Object entity = doctype.getEntity(entityName);
|
|
if (entity != null)
|
|
{
|
|
if (xmlStandalone == Boolean.TRUE)
|
|
{
|
|
if (doctype.isEntityExternal(entityName))
|
|
error("reference to external parameter entity in " +
|
|
"standalone document");
|
|
}
|
|
if (entity instanceof String)
|
|
{
|
|
pushInput(name, (String) entity, false, input.normalize);
|
|
//pushInput(name, " " + (String) entity + " ");
|
|
}
|
|
else
|
|
{
|
|
//pushInput("", " ");
|
|
pushInput(name, (ExternalIds) entity, false, input.normalize);
|
|
//pushInput("", " ");
|
|
}
|
|
}
|
|
else
|
|
error("reference to undeclared parameter entity", name);
|
|
}
|
|
else
|
|
error("reference to parameter entity without doctype", name);
|
|
}
|
|
|
|
/**
|
|
* Parse the digits in a character reference.
|
|
* @param base the base of the digits (10 or 16)
|
|
*/
|
|
private char[] readCharacterRef(int base)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
CPStringBuilder b = new CPStringBuilder();
|
|
for (int c = readCh(); c != 0x3b && c != -1; c = readCh())
|
|
b.append(Character.toChars(c));
|
|
try
|
|
{
|
|
int ord = Integer.parseInt(b.toString(), base);
|
|
if (input.xml11)
|
|
{
|
|
if (!isXML11Char(ord))
|
|
error("illegal XML 1.1 character reference " +
|
|
"U+" + Integer.toHexString(ord));
|
|
}
|
|
else
|
|
{
|
|
if ((ord < 0x20 && !(ord == 0x0a || ord == 0x09 || ord == 0x0d))
|
|
|| (ord >= 0xd800 && ord <= 0xdfff)
|
|
|| ord == 0xfffe || ord == 0xffff
|
|
|| ord > 0x0010ffff)
|
|
error("illegal XML character reference " +
|
|
"U+" + Integer.toHexString(ord));
|
|
}
|
|
return Character.toChars(ord);
|
|
}
|
|
catch (NumberFormatException e)
|
|
{
|
|
error("illegal characters in character reference", b.toString());
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Parses an NMTOKEN or Name production.
|
|
* @param isName if a Name, otherwise an NMTOKEN
|
|
*/
|
|
private String readNmtoken(boolean isName)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
return readNmtoken(isName, nmtokenBuf);
|
|
}
|
|
|
|
/**
|
|
* Parses an NMTOKEN or Name production using the specified buffer.
|
|
* @param isName if a Name, otherwise an NMTOKEN
|
|
* @param buf the character buffer to use
|
|
*/
|
|
private String readNmtoken(boolean isName, StringBuffer buf)
|
|
throws IOException, XMLStreamException
|
|
{
|
|
buf.setLength(0);
|
|
int c = readCh();
|
|
if (isName)
|
|
{
|
|
if (!isNameStartCharacter(c, input.xml11))
|
|
error("not a name start character",
|
|
"U+" + Integer.toHexString(c));
|
|
}
|
|
else
|
|
{
|
|
if (!isNameCharacter(c, input.xml11))
|
|
error("not a name character",
|
|
"U+" + Integer.toHexString(c));
|
|
}
|
|
buf.append(Character.toChars(c));
|
|
do
|
|
{
|
|
mark(1);
|
|
c = readCh();
|
|
switch (c)
|
|
{
|
|
case 0x25: // '%'
|
|
case 0x3c: // '<'
|
|
case 0x3e: // '>'
|
|
case 0x26: // '&'
|
|
case 0x2c: // ','
|
|
case 0x7c: // '|'
|
|
case 0x2a: // '*'
|
|
case 0x2b: // '+'
|
|
case 0x3f: // '?'
|
|
case 0x29: // ')'
|
|
case 0x3d: // '='
|
|
case 0x27: // '\''
|
|
case 0x22: // '"'
|
|
case 0x5b: // '['
|
|
case 0x20: // ' '
|
|
case 0x09: // '\t'
|
|
case 0x0a: // '\n'
|
|
case 0x0d: // '\r'
|
|
case 0x3b: // ';'
|
|
case 0x2f: // '/'
|
|
case -1:
|
|
reset();
|
|
return intern(buf.toString());
|
|
default:
|
|
if (!isNameCharacter(c, input.xml11))
|
|
error("not a name character",
|
|
"U+" + Integer.toHexString(c));
|
|
else
|
|
buf.append(Character.toChars(c));
|
|
}
|
|
}
|
|
while (true);
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified Unicode character is an XML 1.1 Char.
|
|
*/
|
|
public static boolean isXML11Char(int c)
|
|
{
|
|
return ((c >= 0x0001 && c <= 0xD7FF) ||
|
|
(c >= 0xE000 && c < 0xFFFE) ||
|
|
(c >= 0x10000 && c <= 0x10FFFF));
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified Unicode character is an XML 1.1
|
|
* RestrictedChar.
|
|
*/
|
|
public static boolean isXML11RestrictedChar(int c)
|
|
{
|
|
return ((c >= 0x0001 && c <= 0x0008) ||
|
|
(c >= 0x000B && c <= 0x000C) ||
|
|
(c >= 0x000E && c <= 0x001F) ||
|
|
(c >= 0x007F && c <= 0x0084) ||
|
|
(c >= 0x0086 && c <= 0x009F));
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified text matches the Name or Nmtoken
|
|
* production.
|
|
*/
|
|
private boolean isNmtoken(String text, boolean isName)
|
|
{
|
|
try
|
|
{
|
|
int[] cp = UnicodeReader.toCodePointArray(text);
|
|
if (cp.length == 0)
|
|
return false;
|
|
if (isName)
|
|
{
|
|
if (!isNameStartCharacter(cp[0], input.xml11))
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
if (!isNameCharacter(cp[0], input.xml11))
|
|
return false;
|
|
}
|
|
for (int i = 1; i < cp.length; i++)
|
|
{
|
|
if (!isNameCharacter(cp[i], input.xml11))
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
catch (IOException e)
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified Unicode character is a Name start
|
|
* character.
|
|
*/
|
|
public static boolean isNameStartCharacter(int c, boolean xml11)
|
|
{
|
|
if (xml11)
|
|
return ((c >= 0x0041 && c <= 0x005a) ||
|
|
(c >= 0x0061 && c <= 0x007a) ||
|
|
c == 0x3a |
|
|
c == 0x5f |
|
|
(c >= 0xC0 && c <= 0xD6) ||
|
|
(c >= 0xD8 && c <= 0xF6) ||
|
|
(c >= 0xF8 && c <= 0x2FF) ||
|
|
(c >= 0x370 && c <= 0x37D) ||
|
|
(c >= 0x37F && c <= 0x1FFF) ||
|
|
(c >= 0x200C && c <= 0x200D) ||
|
|
(c >= 0x2070 && c <= 0x218F) ||
|
|
(c >= 0x2C00 && c <= 0x2FEF) ||
|
|
(c >= 0x3001 && c <= 0xD7FF) ||
|
|
(c >= 0xF900 && c <= 0xFDCF) ||
|
|
(c >= 0xFDF0 && c <= 0xFFFD) ||
|
|
(c >= 0x10000 && c <= 0xEFFFF));
|
|
else
|
|
return (c == 0x5f || c == 0x3a || isLetter(c));
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified Unicode character is a Name non-initial
|
|
* character.
|
|
*/
|
|
public static boolean isNameCharacter(int c, boolean xml11)
|
|
{
|
|
if (xml11)
|
|
return ((c >= 0x0041 && c <= 0x005a) ||
|
|
(c >= 0x0061 && c <= 0x007a) ||
|
|
(c >= 0x0030 && c <= 0x0039) ||
|
|
c == 0x3a |
|
|
c == 0x5f |
|
|
c == 0x2d |
|
|
c == 0x2e |
|
|
c == 0xB7 |
|
|
(c >= 0xC0 && c <= 0xD6) ||
|
|
(c >= 0xD8 && c <= 0xF6) ||
|
|
(c >= 0xF8 && c <= 0x2FF) ||
|
|
(c >= 0x300 && c <= 0x37D) ||
|
|
(c >= 0x37F && c <= 0x1FFF) ||
|
|
(c >= 0x200C && c <= 0x200D) ||
|
|
(c >= 0x203F && c <= 0x2040) ||
|
|
(c >= 0x2070 && c <= 0x218F) ||
|
|
(c >= 0x2C00 && c <= 0x2FEF) ||
|
|
(c >= 0x3001 && c <= 0xD7FF) ||
|
|
(c >= 0xF900 && c <= 0xFDCF) ||
|
|
(c >= 0xFDF0 && c <= 0xFFFD) ||
|
|
(c >= 0x10000 && c <= 0xEFFFF));
|
|
else
|
|
return (c == 0x2e || c == 0x2d || c == 0x5f || c == 0x3a ||
|
|
isLetter(c) || isDigit(c) ||
|
|
isCombiningChar(c) || isExtender(c));
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified Unicode character matches the Letter
|
|
* production.
|
|
*/
|
|
public static boolean isLetter(int c)
|
|
{
|
|
if ((c >= 0x0041 && c <= 0x005A) ||
|
|
(c >= 0x0061 && c <= 0x007A) ||
|
|
(c >= 0x00C0 && c <= 0x00D6) ||
|
|
(c >= 0x00D8 && c <= 0x00F6) ||
|
|
(c >= 0x00F8 && c <= 0x00FF) ||
|
|
(c >= 0x0100 && c <= 0x0131) ||
|
|
(c >= 0x0134 && c <= 0x013E) ||
|
|
(c >= 0x0141 && c <= 0x0148) ||
|
|
(c >= 0x014A && c <= 0x017E) ||
|
|
(c >= 0x0180 && c <= 0x01C3) ||
|
|
(c >= 0x01CD && c <= 0x01F0) ||
|
|
(c >= 0x01F4 && c <= 0x01F5) ||
|
|
(c >= 0x01FA && c <= 0x0217) ||
|
|
(c >= 0x0250 && c <= 0x02A8) ||
|
|
(c >= 0x02BB && c <= 0x02C1) ||
|
|
c == 0x0386 ||
|
|
(c >= 0x0388 && c <= 0x038A) ||
|
|
c == 0x038C ||
|
|
(c >= 0x038E && c <= 0x03A1) ||
|
|
(c >= 0x03A3 && c <= 0x03CE) ||
|
|
(c >= 0x03D0 && c <= 0x03D6) ||
|
|
c == 0x03DA ||
|
|
c == 0x03DC ||
|
|
c == 0x03DE ||
|
|
c == 0x03E0 ||
|
|
(c >= 0x03E2 && c <= 0x03F3) ||
|
|
(c >= 0x0401 && c <= 0x040C) ||
|
|
(c >= 0x040E && c <= 0x044F) ||
|
|
(c >= 0x0451 && c <= 0x045C) ||
|
|
(c >= 0x045E && c <= 0x0481) ||
|
|
(c >= 0x0490 && c <= 0x04C4) ||
|
|
(c >= 0x04C7 && c <= 0x04C8) ||
|
|
(c >= 0x04CB && c <= 0x04CC) ||
|
|
(c >= 0x04D0 && c <= 0x04EB) ||
|
|
(c >= 0x04EE && c <= 0x04F5) ||
|
|
(c >= 0x04F8 && c <= 0x04F9) ||
|
|
(c >= 0x0531 && c <= 0x0556) ||
|
|
c == 0x0559 ||
|
|
(c >= 0x0561 && c <= 0x0586) ||
|
|
(c >= 0x05D0 && c <= 0x05EA) ||
|
|
(c >= 0x05F0 && c <= 0x05F2) ||
|
|
(c >= 0x0621 && c <= 0x063A) ||
|
|
(c >= 0x0641 && c <= 0x064A) ||
|
|
(c >= 0x0671 && c <= 0x06B7) ||
|
|
(c >= 0x06BA && c <= 0x06BE) ||
|
|
(c >= 0x06C0 && c <= 0x06CE) ||
|
|
(c >= 0x06D0 && c <= 0x06D3) ||
|
|
c == 0x06D5 ||
|
|
(c >= 0x06E5 && c <= 0x06E6) ||
|
|
(c >= 0x0905 && c <= 0x0939) ||
|
|
c == 0x093D ||
|
|
(c >= 0x0958 && c <= 0x0961) ||
|
|
(c >= 0x0985 && c <= 0x098C) ||
|
|
(c >= 0x098F && c <= 0x0990) ||
|
|
(c >= 0x0993 && c <= 0x09A8) ||
|
|
(c >= 0x09AA && c <= 0x09B0) ||
|
|
c == 0x09B2 ||
|
|
(c >= 0x09B6 && c <= 0x09B9) ||
|
|
(c >= 0x09DC && c <= 0x09DD) ||
|
|
(c >= 0x09DF && c <= 0x09E1) ||
|
|
(c >= 0x09F0 && c <= 0x09F1) ||
|
|
(c >= 0x0A05 && c <= 0x0A0A) ||
|
|
(c >= 0x0A0F && c <= 0x0A10) ||
|
|
(c >= 0x0A13 && c <= 0x0A28) ||
|
|
(c >= 0x0A2A && c <= 0x0A30) ||
|
|
(c >= 0x0A32 && c <= 0x0A33) ||
|
|
(c >= 0x0A35 && c <= 0x0A36) ||
|
|
(c >= 0x0A38 && c <= 0x0A39) ||
|
|
(c >= 0x0A59 && c <= 0x0A5C) ||
|
|
c == 0x0A5E ||
|
|
(c >= 0x0A72 && c <= 0x0A74) ||
|
|
(c >= 0x0A85 && c <= 0x0A8B) ||
|
|
c == 0x0A8D ||
|
|
(c >= 0x0A8F && c <= 0x0A91) ||
|
|
(c >= 0x0A93 && c <= 0x0AA8) ||
|
|
(c >= 0x0AAA && c <= 0x0AB0) ||
|
|
(c >= 0x0AB2 && c <= 0x0AB3) ||
|
|
(c >= 0x0AB5 && c <= 0x0AB9) ||
|
|
c == 0x0ABD ||
|
|
c == 0x0AE0 ||
|
|
(c >= 0x0B05 && c <= 0x0B0C) ||
|
|
(c >= 0x0B0F && c <= 0x0B10) ||
|
|
(c >= 0x0B13 && c <= 0x0B28) ||
|
|
(c >= 0x0B2A && c <= 0x0B30) ||
|
|
(c >= 0x0B32 && c <= 0x0B33) ||
|
|
(c >= 0x0B36 && c <= 0x0B39) ||
|
|
c == 0x0B3D ||
|
|
(c >= 0x0B5C && c <= 0x0B5D) ||
|
|
(c >= 0x0B5F && c <= 0x0B61) ||
|
|
(c >= 0x0B85 && c <= 0x0B8A) ||
|
|
(c >= 0x0B8E && c <= 0x0B90) ||
|
|
(c >= 0x0B92 && c <= 0x0B95) ||
|
|
(c >= 0x0B99 && c <= 0x0B9A) ||
|
|
c == 0x0B9C ||
|
|
(c >= 0x0B9E && c <= 0x0B9F) ||
|
|
(c >= 0x0BA3 && c <= 0x0BA4) ||
|
|
(c >= 0x0BA8 && c <= 0x0BAA) ||
|
|
(c >= 0x0BAE && c <= 0x0BB5) ||
|
|
(c >= 0x0BB7 && c <= 0x0BB9) ||
|
|
(c >= 0x0C05 && c <= 0x0C0C) ||
|
|
(c >= 0x0C0E && c <= 0x0C10) ||
|
|
(c >= 0x0C12 && c <= 0x0C28) ||
|
|
(c >= 0x0C2A && c <= 0x0C33) ||
|
|
(c >= 0x0C35 && c <= 0x0C39) ||
|
|
(c >= 0x0C60 && c <= 0x0C61) ||
|
|
(c >= 0x0C85 && c <= 0x0C8C) ||
|
|
(c >= 0x0C8E && c <= 0x0C90) ||
|
|
(c >= 0x0C92 && c <= 0x0CA8) ||
|
|
(c >= 0x0CAA && c <= 0x0CB3) ||
|
|
(c >= 0x0CB5 && c <= 0x0CB9) ||
|
|
c == 0x0CDE ||
|
|
(c >= 0x0CE0 && c <= 0x0CE1) ||
|
|
(c >= 0x0D05 && c <= 0x0D0C) ||
|
|
(c >= 0x0D0E && c <= 0x0D10) ||
|
|
(c >= 0x0D12 && c <= 0x0D28) ||
|
|
(c >= 0x0D2A && c <= 0x0D39) ||
|
|
(c >= 0x0D60 && c <= 0x0D61) ||
|
|
(c >= 0x0E01 && c <= 0x0E2E) ||
|
|
c == 0x0E30 ||
|
|
(c >= 0x0E32 && c <= 0x0E33) ||
|
|
(c >= 0x0E40 && c <= 0x0E45) ||
|
|
(c >= 0x0E81 && c <= 0x0E82) ||
|
|
c == 0x0E84 ||
|
|
(c >= 0x0E87 && c <= 0x0E88) ||
|
|
c == 0x0E8A ||
|
|
c == 0x0E8D ||
|
|
(c >= 0x0E94 && c <= 0x0E97) ||
|
|
(c >= 0x0E99 && c <= 0x0E9F) ||
|
|
(c >= 0x0EA1 && c <= 0x0EA3) ||
|
|
c == 0x0EA5 ||
|
|
c == 0x0EA7 ||
|
|
(c >= 0x0EAA && c <= 0x0EAB) ||
|
|
(c >= 0x0EAD && c <= 0x0EAE) ||
|
|
c == 0x0EB0 ||
|
|
(c >= 0x0EB2 && c <= 0x0EB3) ||
|
|
c == 0x0EBD ||
|
|
(c >= 0x0EC0 && c <= 0x0EC4) ||
|
|
(c >= 0x0F40 && c <= 0x0F47) ||
|
|
(c >= 0x0F49 && c <= 0x0F69) ||
|
|
(c >= 0x10A0 && c <= 0x10C5) ||
|
|
(c >= 0x10D0 && c <= 0x10F6) ||
|
|
c == 0x1100 ||
|
|
(c >= 0x1102 && c <= 0x1103) ||
|
|
(c >= 0x1105 && c <= 0x1107) ||
|
|
c == 0x1109 ||
|
|
(c >= 0x110B && c <= 0x110C) ||
|
|
(c >= 0x110E && c <= 0x1112) ||
|
|
c == 0x113C ||
|
|
c == 0x113E ||
|
|
c == 0x1140 ||
|
|
c == 0x114C ||
|
|
c == 0x114E ||
|
|
c == 0x1150 ||
|
|
(c >= 0x1154 && c <= 0x1155) ||
|
|
c == 0x1159 ||
|
|
(c >= 0x115F && c <= 0x1161) ||
|
|
c == 0x1163 ||
|
|
c == 0x1165 ||
|
|
c == 0x1167 ||
|
|
c == 0x1169 ||
|
|
(c >= 0x116D && c <= 0x116E) ||
|
|
(c >= 0x1172 && c <= 0x1173) ||
|
|
c == 0x1175 ||
|
|
c == 0x119E ||
|
|
c == 0x11A8 ||
|
|
c == 0x11AB ||
|
|
(c >= 0x11AE && c <= 0x11AF) ||
|
|
(c >= 0x11B7 && c <= 0x11B8) ||
|
|
c == 0x11BA ||
|
|
(c >= 0x11BC && c <= 0x11C2) ||
|
|
c == 0x11EB ||
|
|
c == 0x11F0 ||
|
|
c == 0x11F9 ||
|
|
(c >= 0x1E00 && c <= 0x1E9B) ||
|
|
(c >= 0x1EA0 && c <= 0x1EF9) ||
|
|
(c >= 0x1F00 && c <= 0x1F15) ||
|
|
(c >= 0x1F18 && c <= 0x1F1D) ||
|
|
(c >= 0x1F20 && c <= 0x1F45) ||
|
|
(c >= 0x1F48 && c <= 0x1F4D) ||
|
|
(c >= 0x1F50 && c <= 0x1F57) ||
|
|
c == 0x1F59 ||
|
|
c == 0x1F5B ||
|
|
c == 0x1F5D ||
|
|
(c >= 0x1F5F && c <= 0x1F7D) ||
|
|
(c >= 0x1F80 && c <= 0x1FB4) ||
|
|
(c >= 0x1FB6 && c <= 0x1FBC) ||
|
|
c == 0x1FBE ||
|
|
(c >= 0x1FC2 && c <= 0x1FC4) ||
|
|
(c >= 0x1FC6 && c <= 0x1FCC) ||
|
|
(c >= 0x1FD0 && c <= 0x1FD3) ||
|
|
(c >= 0x1FD6 && c <= 0x1FDB) ||
|
|
(c >= 0x1FE0 && c <= 0x1FEC) ||
|
|
(c >= 0x1FF2 && c <= 0x1FF4) ||
|
|
(c >= 0x1FF6 && c <= 0x1FFC) ||
|
|
c == 0x2126 ||
|
|
(c >= 0x212A && c <= 0x212B) ||
|
|
c == 0x212E ||
|
|
(c >= 0x2180 && c <= 0x2182) ||
|
|
(c >= 0x3041 && c <= 0x3094) ||
|
|
(c >= 0x30A1 && c <= 0x30FA) ||
|
|
(c >= 0x3105 && c <= 0x312C) ||
|
|
(c >= 0xAC00 && c <= 0xD7A3))
|
|
return true; // BaseChar
|
|
if ((c >= 0x4e00 && c <= 0x9fa5) ||
|
|
c == 0x3007 ||
|
|
(c >= 0x3021 && c <= 0x3029))
|
|
return true; // Ideographic
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified Unicode character matches the Digit
|
|
* production.
|
|
*/
|
|
public static boolean isDigit(int c)
|
|
{
|
|
return ((c >= 0x0030 && c <= 0x0039) ||
|
|
(c >= 0x0660 && c <= 0x0669) ||
|
|
(c >= 0x06F0 && c <= 0x06F9) ||
|
|
(c >= 0x0966 && c <= 0x096F) ||
|
|
(c >= 0x09E6 && c <= 0x09EF) ||
|
|
(c >= 0x0A66 && c <= 0x0A6F) ||
|
|
(c >= 0x0AE6 && c <= 0x0AEF) ||
|
|
(c >= 0x0B66 && c <= 0x0B6F) ||
|
|
(c >= 0x0BE7 && c <= 0x0BEF) ||
|
|
(c >= 0x0C66 && c <= 0x0C6F) ||
|
|
(c >= 0x0CE6 && c <= 0x0CEF) ||
|
|
(c >= 0x0D66 && c <= 0x0D6F) ||
|
|
(c >= 0x0E50 && c <= 0x0E59) ||
|
|
(c >= 0x0ED0 && c <= 0x0ED9) ||
|
|
(c >= 0x0F20 && c <= 0x0F29));
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified Unicode character matches the
|
|
* CombiningChar production.
|
|
*/
|
|
public static boolean isCombiningChar(int c)
|
|
{
|
|
return ((c >= 0x0300 && c <= 0x0345) ||
|
|
(c >= 0x0360 && c <= 0x0361) ||
|
|
(c >= 0x0483 && c <= 0x0486) ||
|
|
(c >= 0x0591 && c <= 0x05A1) ||
|
|
(c >= 0x05A3 && c <= 0x05B9) ||
|
|
(c >= 0x05BB && c <= 0x05BD) ||
|
|
c == 0x05BF ||
|
|
(c >= 0x05C1 && c <= 0x05C2) ||
|
|
c == 0x05C4 ||
|
|
(c >= 0x064B && c <= 0x0652) ||
|
|
c == 0x0670 ||
|
|
(c >= 0x06D6 && c <= 0x06DC) ||
|
|
(c >= 0x06DD && c <= 0x06DF) ||
|
|
(c >= 0x06E0 && c <= 0x06E4) ||
|
|
(c >= 0x06E7 && c <= 0x06E8) ||
|
|
(c >= 0x06EA && c <= 0x06ED) ||
|
|
(c >= 0x0901 && c <= 0x0903) ||
|
|
c == 0x093C ||
|
|
(c >= 0x093E && c <= 0x094C) ||
|
|
c == 0x094D ||
|
|
(c >= 0x0951 && c <= 0x0954) ||
|
|
(c >= 0x0962 && c <= 0x0963) ||
|
|
(c >= 0x0981 && c <= 0x0983) ||
|
|
c == 0x09BC ||
|
|
c == 0x09BE ||
|
|
c == 0x09BF ||
|
|
(c >= 0x09C0 && c <= 0x09C4) ||
|
|
(c >= 0x09C7 && c <= 0x09C8) ||
|
|
(c >= 0x09CB && c <= 0x09CD) ||
|
|
c == 0x09D7 ||
|
|
(c >= 0x09E2 && c <= 0x09E3) ||
|
|
c == 0x0A02 ||
|
|
c == 0x0A3C ||
|
|
c == 0x0A3E ||
|
|
c == 0x0A3F ||
|
|
(c >= 0x0A40 && c <= 0x0A42) ||
|
|
(c >= 0x0A47 && c <= 0x0A48) ||
|
|
(c >= 0x0A4B && c <= 0x0A4D) ||
|
|
(c >= 0x0A70 && c <= 0x0A71) ||
|
|
(c >= 0x0A81 && c <= 0x0A83) ||
|
|
c == 0x0ABC ||
|
|
(c >= 0x0ABE && c <= 0x0AC5) ||
|
|
(c >= 0x0AC7 && c <= 0x0AC9) ||
|
|
(c >= 0x0ACB && c <= 0x0ACD) ||
|
|
(c >= 0x0B01 && c <= 0x0B03) ||
|
|
c == 0x0B3C ||
|
|
(c >= 0x0B3E && c <= 0x0B43) ||
|
|
(c >= 0x0B47 && c <= 0x0B48) ||
|
|
(c >= 0x0B4B && c <= 0x0B4D) ||
|
|
(c >= 0x0B56 && c <= 0x0B57) ||
|
|
(c >= 0x0B82 && c <= 0x0B83) ||
|
|
(c >= 0x0BBE && c <= 0x0BC2) ||
|
|
(c >= 0x0BC6 && c <= 0x0BC8) ||
|
|
(c >= 0x0BCA && c <= 0x0BCD) ||
|
|
c == 0x0BD7 ||
|
|
(c >= 0x0C01 && c <= 0x0C03) ||
|
|
(c >= 0x0C3E && c <= 0x0C44) ||
|
|
(c >= 0x0C46 && c <= 0x0C48) ||
|
|
(c >= 0x0C4A && c <= 0x0C4D) ||
|
|
(c >= 0x0C55 && c <= 0x0C56) ||
|
|
(c >= 0x0C82 && c <= 0x0C83) ||
|
|
(c >= 0x0CBE && c <= 0x0CC4) ||
|
|
(c >= 0x0CC6 && c <= 0x0CC8) ||
|
|
(c >= 0x0CCA && c <= 0x0CCD) ||
|
|
(c >= 0x0CD5 && c <= 0x0CD6) ||
|
|
(c >= 0x0D02 && c <= 0x0D03) ||
|
|
(c >= 0x0D3E && c <= 0x0D43) ||
|
|
(c >= 0x0D46 && c <= 0x0D48) ||
|
|
(c >= 0x0D4A && c <= 0x0D4D) ||
|
|
c == 0x0D57 ||
|
|
c == 0x0E31 ||
|
|
(c >= 0x0E34 && c <= 0x0E3A) ||
|
|
(c >= 0x0E47 && c <= 0x0E4E) ||
|
|
c == 0x0EB1 ||
|
|
(c >= 0x0EB4 && c <= 0x0EB9) ||
|
|
(c >= 0x0EBB && c <= 0x0EBC) ||
|
|
(c >= 0x0EC8 && c <= 0x0ECD) ||
|
|
(c >= 0x0F18 && c <= 0x0F19) ||
|
|
c == 0x0F35 ||
|
|
c == 0x0F37 ||
|
|
c == 0x0F39 ||
|
|
c == 0x0F3E ||
|
|
c == 0x0F3F ||
|
|
(c >= 0x0F71 && c <= 0x0F84) ||
|
|
(c >= 0x0F86 && c <= 0x0F8B) ||
|
|
(c >= 0x0F90 && c <= 0x0F95) ||
|
|
c == 0x0F97 ||
|
|
(c >= 0x0F99 && c <= 0x0FAD) ||
|
|
(c >= 0x0FB1 && c <= 0x0FB7) ||
|
|
c == 0x0FB9 ||
|
|
(c >= 0x20D0 && c <= 0x20DC) ||
|
|
c == 0x20E1 ||
|
|
(c >= 0x302A && c <= 0x302F) ||
|
|
c == 0x3099 ||
|
|
c == 0x309A);
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified Unicode character matches the Extender
|
|
* production.
|
|
*/
|
|
public static boolean isExtender(int c)
|
|
{
|
|
return (c == 0x00B7 ||
|
|
c == 0x02D0 ||
|
|
c == 0x02D1 ||
|
|
c == 0x0387 ||
|
|
c == 0x0640 ||
|
|
c == 0x0E46 ||
|
|
c == 0x0EC6 ||
|
|
c == 0x3005 ||
|
|
(c >= 0x3031 && c <= 0x3035) ||
|
|
(c >= 0x309D && c <= 0x309E) ||
|
|
(c >= 0x30FC && c <= 0x30FE));
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified Unicode character matches the Char
|
|
* production.
|
|
*/
|
|
public static boolean isChar(int c)
|
|
{
|
|
return (c >= 0x20 && c < 0xd800) ||
|
|
(c >= 0xe00 && c < 0xfffe) ||
|
|
(c >= 0x10000 && c < 0x110000) ||
|
|
c == 0xa || c == 0x9 || c == 0xd;
|
|
}
|
|
|
|
/**
|
|
* Interns the specified text or not, depending on the value of
|
|
* stringInterning.
|
|
*/
|
|
private String intern(String text)
|
|
{
|
|
return stringInterning ? text.intern() : text;
|
|
}
|
|
|
|
/**
|
|
* Report a parsing error.
|
|
*/
|
|
private void error(String message)
|
|
throws XMLStreamException
|
|
{
|
|
error(message, null);
|
|
}
|
|
|
|
/**
|
|
* Report a parsing error.
|
|
*/
|
|
private void error(String message, Object info)
|
|
throws XMLStreamException
|
|
{
|
|
if (info != null)
|
|
{
|
|
if (info instanceof String)
|
|
message += ": \"" + ((String) info) + "\"";
|
|
else if (info instanceof Character)
|
|
message += ": '" + ((Character) info) + "'";
|
|
}
|
|
throw new XMLStreamException(message);
|
|
}
|
|
|
|
/**
|
|
* Perform validation of a start-element event.
|
|
*/
|
|
private void validateStartElement(String elementName)
|
|
throws XMLStreamException
|
|
{
|
|
if (currentContentModel == null)
|
|
{
|
|
// root element
|
|
// VC: Root Element Type
|
|
if (!elementName.equals(doctype.rootName))
|
|
error("root element name must match name in DTD");
|
|
return;
|
|
}
|
|
// VC: Element Valid
|
|
switch (currentContentModel.type)
|
|
{
|
|
case ContentModel.EMPTY:
|
|
error("child element found in empty element", elementName);
|
|
break;
|
|
case ContentModel.ELEMENT:
|
|
LinkedList ctx = (LinkedList) validationStack.getLast();
|
|
ctx.add(elementName);
|
|
break;
|
|
case ContentModel.MIXED:
|
|
MixedContentModel mm = (MixedContentModel) currentContentModel;
|
|
if (!mm.containsName(elementName))
|
|
error("illegal element for content model", elementName);
|
|
break;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Perform validation of an end-element event.
|
|
*/
|
|
private void validateEndElement()
|
|
throws XMLStreamException
|
|
{
|
|
if (currentContentModel == null)
|
|
{
|
|
// root element
|
|
// VC: IDREF
|
|
if (!idrefs.containsAll(ids))
|
|
error("IDREF values must match the value of some ID attribute");
|
|
return;
|
|
}
|
|
// VC: Element Valid
|
|
switch (currentContentModel.type)
|
|
{
|
|
case ContentModel.ELEMENT:
|
|
LinkedList ctx = (LinkedList) validationStack.getLast();
|
|
ElementContentModel ecm = (ElementContentModel) currentContentModel;
|
|
validateElementContent(ecm, ctx);
|
|
break;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Perform validation of character data.
|
|
*/
|
|
private void validatePCData(String text)
|
|
throws XMLStreamException
|
|
{
|
|
// VC: Element Valid
|
|
switch (currentContentModel.type)
|
|
{
|
|
case ContentModel.EMPTY:
|
|
error("character data found in empty element", text);
|
|
break;
|
|
case ContentModel.ELEMENT:
|
|
boolean white = true;
|
|
int len = text.length();
|
|
for (int i = 0; i < len; i++)
|
|
{
|
|
char c = text.charAt(i);
|
|
if (c != ' ' && c != '\t' && c != '\n' && c != '\r')
|
|
{
|
|
white = false;
|
|
break;
|
|
}
|
|
}
|
|
if (!white)
|
|
error("character data found in element with element content", text);
|
|
else if (xmlStandalone == Boolean.TRUE && currentContentModel.external)
|
|
// VC: Standalone Document Declaration
|
|
error("whitespace in element content of externally declared " +
|
|
"element in standalone document");
|
|
break;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Validates the specified validation context (list of child elements)
|
|
* against the element content model for the current element.
|
|
*/
|
|
private void validateElementContent(ElementContentModel model,
|
|
LinkedList children)
|
|
throws XMLStreamException
|
|
{
|
|
// Use regular expression
|
|
CPStringBuilder buf = new CPStringBuilder();
|
|
for (Iterator i = children.iterator(); i.hasNext(); )
|
|
{
|
|
buf.append((String) i.next());
|
|
buf.append(' ');
|
|
}
|
|
String c = buf.toString();
|
|
String regex = createRegularExpression(model);
|
|
if (!c.matches(regex))
|
|
error("element content "+model.text+" does not match expression "+regex, c);
|
|
}
|
|
|
|
/**
|
|
* Creates the regular expression used to validate an element content
|
|
* model.
|
|
*/
|
|
private String createRegularExpression(ElementContentModel model)
|
|
{
|
|
if (model.regex == null)
|
|
{
|
|
CPStringBuilder buf = new CPStringBuilder();
|
|
buf.append('(');
|
|
for (Iterator i = model.contentParticles.iterator(); i.hasNext(); )
|
|
{
|
|
ContentParticle cp = (ContentParticle) i.next();
|
|
if (cp.content instanceof String)
|
|
{
|
|
buf.append('(');
|
|
buf.append((String) cp.content);
|
|
buf.append(' ');
|
|
buf.append(')');
|
|
if (cp.max == -1)
|
|
{
|
|
if (cp.min == 0)
|
|
buf.append('*');
|
|
else
|
|
buf.append('+');
|
|
}
|
|
else if (cp.min == 0)
|
|
buf.append('?');
|
|
}
|
|
else
|
|
{
|
|
ElementContentModel ecm = (ElementContentModel) cp.content;
|
|
buf.append(createRegularExpression(ecm));
|
|
}
|
|
if (model.or && i.hasNext())
|
|
buf.append('|');
|
|
}
|
|
buf.append(')');
|
|
if (model.max == -1)
|
|
{
|
|
if (model.min == 0)
|
|
buf.append('*');
|
|
else
|
|
buf.append('+');
|
|
}
|
|
else if (model.min == 0)
|
|
buf.append('?');
|
|
model.regex = buf.toString();
|
|
}
|
|
return model.regex;
|
|
}
|
|
|
|
/**
|
|
* Performs validation of a document type declaration event.
|
|
*/
|
|
void validateDoctype()
|
|
throws XMLStreamException
|
|
{
|
|
for (Iterator i = doctype.entityIterator(); i.hasNext(); )
|
|
{
|
|
Map.Entry entry = (Map.Entry) i.next();
|
|
Object entity = entry.getValue();
|
|
if (entity instanceof ExternalIds)
|
|
{
|
|
ExternalIds ids = (ExternalIds) entity;
|
|
if (ids.notationName != null)
|
|
{
|
|
// VC: Notation Declared
|
|
ExternalIds notation = doctype.getNotation(ids.notationName);
|
|
if (notation == null)
|
|
error("Notation name must match the declared name of a " +
|
|
"notation", ids.notationName);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Simple test harness for reading an XML file.
|
|
* args[0] is the filename of the XML file
|
|
* If args[1] is "-x", enable XInclude processing
|
|
*/
|
|
public static void main(String[] args)
|
|
throws Exception
|
|
{
|
|
boolean validating = false;
|
|
boolean namespaceAware = false;
|
|
boolean xIncludeAware = false;
|
|
int pos = 0;
|
|
while (pos < args.length && args[pos].startsWith("-"))
|
|
{
|
|
if ("-x".equals(args[pos]))
|
|
xIncludeAware = true;
|
|
else if ("-v".equals(args[pos]))
|
|
validating = true;
|
|
else if ("-n".equals(args[pos]))
|
|
namespaceAware = true;
|
|
pos++;
|
|
}
|
|
if (pos >= args.length)
|
|
{
|
|
System.out.println("Syntax: XMLParser [-n] [-v] [-x] <file> [<file2> [...]]");
|
|
System.out.println("\t-n: use namespace aware mode");
|
|
System.out.println("\t-v: use validating parser");
|
|
System.out.println("\t-x: use XInclude aware mode");
|
|
System.exit(2);
|
|
}
|
|
while (pos < args.length)
|
|
{
|
|
XMLParser p = new XMLParser(new java.io.FileInputStream(args[pos]),
|
|
absolutize(null, args[pos]),
|
|
validating, // validating
|
|
namespaceAware, // namespaceAware
|
|
true, // coalescing,
|
|
true, // replaceERefs
|
|
true, // externalEntities
|
|
true, // supportDTD
|
|
true, // baseAware
|
|
true, // stringInterning
|
|
true, // extendedEventTypes
|
|
null,
|
|
null);
|
|
XMLStreamReader reader = p;
|
|
if (xIncludeAware)
|
|
reader = new XIncludeFilter(p, args[pos], true, true, true);
|
|
try
|
|
{
|
|
int event;
|
|
//do
|
|
while (reader.hasNext())
|
|
{
|
|
event = reader.next();
|
|
Location loc = reader.getLocation();
|
|
System.out.print(loc.getLineNumber() + ":" +
|
|
loc.getColumnNumber() + " ");
|
|
switch (event)
|
|
{
|
|
case XMLStreamConstants.START_DOCUMENT:
|
|
System.out.println("START_DOCUMENT version=" +
|
|
reader.getVersion() +
|
|
" encoding=" +
|
|
reader.getEncoding());
|
|
break;
|
|
case XMLStreamConstants.END_DOCUMENT:
|
|
System.out.println("END_DOCUMENT");
|
|
break;
|
|
case XMLStreamConstants.START_ELEMENT:
|
|
System.out.println("START_ELEMENT " +
|
|
reader.getName());
|
|
int l = reader.getNamespaceCount();
|
|
for (int i = 0; i < l; i++)
|
|
System.out.println("\tnamespace " +
|
|
reader.getNamespacePrefix(i) + "='" +
|
|
reader.getNamespaceURI(i)+"'");
|
|
l = reader.getAttributeCount();
|
|
for (int i = 0; i < l; i++)
|
|
System.out.println("\tattribute " +
|
|
reader.getAttributeName(i) + "='" +
|
|
reader.getAttributeValue(i) + "'");
|
|
break;
|
|
case XMLStreamConstants.END_ELEMENT:
|
|
System.out.println("END_ELEMENT " + reader.getName());
|
|
break;
|
|
case XMLStreamConstants.CHARACTERS:
|
|
System.out.println("CHARACTERS '" +
|
|
encodeText(reader.getText()) + "'");
|
|
break;
|
|
case XMLStreamConstants.CDATA:
|
|
System.out.println("CDATA '" +
|
|
encodeText(reader.getText()) + "'");
|
|
break;
|
|
case XMLStreamConstants.SPACE:
|
|
System.out.println("SPACE '" +
|
|
encodeText(reader.getText()) + "'");
|
|
break;
|
|
case XMLStreamConstants.DTD:
|
|
System.out.println("DTD " + reader.getText());
|
|
break;
|
|
case XMLStreamConstants.ENTITY_REFERENCE:
|
|
System.out.println("ENTITY_REFERENCE " + reader.getText());
|
|
break;
|
|
case XMLStreamConstants.COMMENT:
|
|
System.out.println("COMMENT '" +
|
|
encodeText(reader.getText()) + "'");
|
|
break;
|
|
case XMLStreamConstants.PROCESSING_INSTRUCTION:
|
|
System.out.println("PROCESSING_INSTRUCTION " +
|
|
reader.getPITarget() + " " +
|
|
reader.getPIData());
|
|
break;
|
|
case START_ENTITY:
|
|
System.out.println("START_ENTITY " + reader.getText());
|
|
break;
|
|
case END_ENTITY:
|
|
System.out.println("END_ENTITY " + reader.getText());
|
|
break;
|
|
default:
|
|
System.out.println("Unknown event: " + event);
|
|
}
|
|
}
|
|
}
|
|
catch (XMLStreamException e)
|
|
{
|
|
Location l = reader.getLocation();
|
|
System.out.println("At line "+l.getLineNumber()+
|
|
", column "+l.getColumnNumber()+
|
|
" of "+l.getSystemId());
|
|
throw e;
|
|
}
|
|
pos++;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Escapes control characters in the specified text. For debugging.
|
|
*/
|
|
private static String encodeText(String text)
|
|
{
|
|
CPStringBuilder b = new CPStringBuilder();
|
|
int len = text.length();
|
|
for (int i = 0; i < len; i++)
|
|
{
|
|
char c = text.charAt(i);
|
|
switch (c)
|
|
{
|
|
case '\t':
|
|
b.append("\\t");
|
|
break;
|
|
case '\n':
|
|
b.append("\\n");
|
|
break;
|
|
case '\r':
|
|
b.append("\\r");
|
|
break;
|
|
default:
|
|
b.append(c);
|
|
}
|
|
}
|
|
return b.toString();
|
|
}
|
|
|
|
/**
|
|
* An attribute instance.
|
|
*/
|
|
class Attribute
|
|
{
|
|
|
|
/**
|
|
* Attribute name.
|
|
*/
|
|
final String name;
|
|
|
|
/**
|
|
* Attribute type as declared in the DTD, or CDATA otherwise.
|
|
*/
|
|
final String type;
|
|
|
|
/**
|
|
* Whether the attribute was specified or defaulted.
|
|
*/
|
|
final boolean specified;
|
|
|
|
/**
|
|
* The attribute value.
|
|
*/
|
|
final String value;
|
|
|
|
/**
|
|
* The namespace prefix.
|
|
*/
|
|
final String prefix;
|
|
|
|
/**
|
|
* The namespace local-name.
|
|
*/
|
|
final String localName;
|
|
|
|
Attribute(String name, String type, boolean specified, String value)
|
|
{
|
|
this.name = name;
|
|
this.type = type;
|
|
this.specified = specified;
|
|
this.value = value;
|
|
int ci = name.indexOf(':');
|
|
if (ci == -1)
|
|
{
|
|
prefix = null;
|
|
localName = intern(name);
|
|
}
|
|
else
|
|
{
|
|
prefix = intern(name.substring(0, ci));
|
|
localName = intern(name.substring(ci + 1));
|
|
}
|
|
}
|
|
|
|
public boolean equals(Object other)
|
|
{
|
|
if (other instanceof Attribute)
|
|
{
|
|
Attribute a = (Attribute) other;
|
|
if (namespaceAware)
|
|
{
|
|
if (!a.localName.equals(localName))
|
|
return false;
|
|
String auri = getNamespaceURI(a.prefix);
|
|
String uri = getNamespaceURI(prefix);
|
|
if (uri == null && (auri == null ||
|
|
(input.xml11 && "".equals(auri))))
|
|
return true;
|
|
if (uri != null)
|
|
{
|
|
if ("".equals(uri) && input.xml11 && "".equals(auri))
|
|
return true;
|
|
return uri.equals(auri);
|
|
}
|
|
return false;
|
|
}
|
|
else
|
|
return a.name.equals(name);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public String toString()
|
|
{
|
|
CPStringBuilder buf = new CPStringBuilder(getClass().getName());
|
|
buf.append('[');
|
|
buf.append("name=");
|
|
buf.append(name);
|
|
if (value != null)
|
|
{
|
|
buf.append(",value=");
|
|
buf.append(value);
|
|
}
|
|
if (type != null)
|
|
{
|
|
buf.append(",type=");
|
|
buf.append(type);
|
|
}
|
|
if (specified)
|
|
buf.append(",specified");
|
|
buf.append(']');
|
|
return buf.toString();
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* Representation of a DTD.
|
|
*/
|
|
class Doctype
|
|
{
|
|
|
|
/**
|
|
* Name of the root element.
|
|
*/
|
|
final String rootName;
|
|
|
|
/**
|
|
* Public ID, if any, of external subset.
|
|
*/
|
|
final String publicId;
|
|
|
|
/**
|
|
* System ID (URL), if any, of external subset.
|
|
*/
|
|
final String systemId;
|
|
|
|
/**
|
|
* Map of element names to content models.
|
|
*/
|
|
private final LinkedHashMap elements = new LinkedHashMap();
|
|
|
|
/**
|
|
* Map of element names to maps of attribute declarations.
|
|
*/
|
|
private final LinkedHashMap attlists = new LinkedHashMap();
|
|
|
|
/**
|
|
* Map of entity names to entities (String or ExternalIds).
|
|
*/
|
|
private final LinkedHashMap entities = new LinkedHashMap();
|
|
|
|
/**
|
|
* Map of notation names to ExternalIds.
|
|
*/
|
|
private final LinkedHashMap notations = new LinkedHashMap();
|
|
|
|
/**
|
|
* Map of anonymous keys to comments.
|
|
*/
|
|
private final LinkedHashMap comments = new LinkedHashMap();
|
|
|
|
/**
|
|
* Map of anonymous keys to processing instructions (String[2]
|
|
* containing {target, data}).
|
|
*/
|
|
private final LinkedHashMap pis = new LinkedHashMap();
|
|
|
|
/**
|
|
* List of keys to all markup entries in the DTD.
|
|
*/
|
|
private final LinkedList entries = new LinkedList();
|
|
|
|
/**
|
|
* Set of the entities defined in the external subset.
|
|
*/
|
|
private final HashSet externalEntities = new HashSet();
|
|
|
|
/**
|
|
* Set of the notations defined in the external subset.
|
|
*/
|
|
private final HashSet externalNotations = new HashSet();
|
|
|
|
/**
|
|
* Counter for making anonymous keys.
|
|
*/
|
|
private int anon = 1;
|
|
|
|
/**
|
|
* Constructor.
|
|
*/
|
|
Doctype(String rootName, String publicId, String systemId)
|
|
{
|
|
this.rootName = rootName;
|
|
this.publicId = publicId;
|
|
this.systemId = systemId;
|
|
}
|
|
|
|
/**
|
|
* Adds an element declaration.
|
|
* @param name the element name
|
|
* @param text the content model text
|
|
* @param model the parsed content model
|
|
*/
|
|
void addElementDecl(String name, String text, ContentModel model)
|
|
{
|
|
if (elements.containsKey(name))
|
|
return;
|
|
model.text = text;
|
|
model.external = (inputStack.size() != 1);
|
|
elements.put(name, model);
|
|
entries.add("E" + name);
|
|
}
|
|
|
|
/**
|
|
* Adds an attribute declaration.
|
|
* @param ename the element name
|
|
* @param aname the attribute name
|
|
* @param decl the attribute declaration details
|
|
*/
|
|
void addAttributeDecl(String ename, String aname, AttributeDecl decl)
|
|
{
|
|
LinkedHashMap attlist = (LinkedHashMap) attlists.get(ename);
|
|
if (attlist == null)
|
|
{
|
|
attlist = new LinkedHashMap();
|
|
attlists.put(ename, attlist);
|
|
}
|
|
else if (attlist.containsKey(aname))
|
|
return;
|
|
attlist.put(aname, decl);
|
|
String key = "A" + ename;
|
|
if (!entries.contains(key))
|
|
entries.add(key);
|
|
}
|
|
|
|
/**
|
|
* Adds an entity declaration.
|
|
* @param name the entity name
|
|
* @param text the entity replacement text
|
|
* @param inExternalSubset if we are in the exernal subset
|
|
*/
|
|
void addEntityDecl(String name, String text, boolean inExternalSubset)
|
|
{
|
|
if (entities.containsKey(name))
|
|
return;
|
|
entities.put(name, text);
|
|
entries.add("e" + name);
|
|
if (inExternalSubset)
|
|
externalEntities.add(name);
|
|
}
|
|
|
|
/**
|
|
* Adds an entity declaration.
|
|
* @param name the entity name
|
|
* @param ids the external IDs
|
|
* @param inExternalSubset if we are in the exernal subset
|
|
*/
|
|
void addEntityDecl(String name, ExternalIds ids, boolean inExternalSubset)
|
|
{
|
|
if (entities.containsKey(name))
|
|
return;
|
|
entities.put(name, ids);
|
|
entries.add("e" + name);
|
|
if (inExternalSubset)
|
|
externalEntities.add(name);
|
|
}
|
|
|
|
/**
|
|
* Adds a notation declaration.
|
|
* @param name the notation name
|
|
* @param ids the external IDs
|
|
* @param inExternalSubset if we are in the exernal subset
|
|
*/
|
|
void addNotationDecl(String name, ExternalIds ids, boolean inExternalSubset)
|
|
{
|
|
if (notations.containsKey(name))
|
|
return;
|
|
notations.put(name, ids);
|
|
entries.add("n" + name);
|
|
if (inExternalSubset)
|
|
externalNotations.add(name);
|
|
}
|
|
|
|
/**
|
|
* Adds a comment.
|
|
*/
|
|
void addComment(String text)
|
|
{
|
|
String key = Integer.toString(anon++);
|
|
comments.put(key, text);
|
|
entries.add("c" + key);
|
|
}
|
|
|
|
/**
|
|
* Adds a processing instruction.
|
|
*/
|
|
void addPI(String target, String data)
|
|
{
|
|
String key = Integer.toString(anon++);
|
|
pis.put(key, new String[] {target, data});
|
|
entries.add("p" + key);
|
|
}
|
|
|
|
/**
|
|
* Returns the content model for the specified element.
|
|
* @param name the element name
|
|
*/
|
|
ContentModel getElementModel(String name)
|
|
{
|
|
return (ContentModel) elements.get(name);
|
|
}
|
|
|
|
/**
|
|
* Returns the attribute definition for the given attribute
|
|
* @param ename the element name
|
|
* @param aname the attribute name
|
|
*/
|
|
AttributeDecl getAttributeDecl(String ename, String aname)
|
|
{
|
|
LinkedHashMap attlist = (LinkedHashMap) attlists.get(ename);
|
|
return (attlist == null) ? null : (AttributeDecl) attlist.get(aname);
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified attribute was declared in the DTD.
|
|
* @param ename the element name
|
|
* @param aname the attribute name
|
|
*/
|
|
boolean isAttributeDeclared(String ename, String aname)
|
|
{
|
|
LinkedHashMap attlist = (LinkedHashMap) attlists.get(ename);
|
|
return (attlist == null) ? false : attlist.containsKey(aname);
|
|
}
|
|
|
|
/**
|
|
* Returns an iterator over the entries in the attribute list for the
|
|
* given element.
|
|
* @param ename the element name
|
|
*/
|
|
Iterator attlistIterator(String ename)
|
|
{
|
|
LinkedHashMap attlist = (LinkedHashMap) attlists.get(ename);
|
|
return (attlist == null) ? Collections.EMPTY_LIST.iterator() :
|
|
attlist.entrySet().iterator();
|
|
}
|
|
|
|
/**
|
|
* Returns the entity (String or ExternalIds) for the given entity name.
|
|
*/
|
|
Object getEntity(String name)
|
|
{
|
|
return entities.get(name);
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified entity was declared in the external
|
|
* subset.
|
|
*/
|
|
boolean isEntityExternal(String name)
|
|
{
|
|
return externalEntities.contains(name);
|
|
}
|
|
|
|
/**
|
|
* Returns an iterator over the entity map entries.
|
|
*/
|
|
Iterator entityIterator()
|
|
{
|
|
return entities.entrySet().iterator();
|
|
}
|
|
|
|
/**
|
|
* Returns the notation IDs for the given notation name.
|
|
*/
|
|
ExternalIds getNotation(String name)
|
|
{
|
|
return (ExternalIds) notations.get(name);
|
|
}
|
|
|
|
/**
|
|
* Indicates whether the specified notation was declared in the external
|
|
* subset.
|
|
*/
|
|
boolean isNotationExternal(String name)
|
|
{
|
|
return externalNotations.contains(name);
|
|
}
|
|
|
|
/**
|
|
* Returns the comment associated with the specified (anonymous) key.
|
|
*/
|
|
String getComment(String key)
|
|
{
|
|
return (String) comments.get(key);
|
|
}
|
|
|
|
/**
|
|
* Returns the processing instruction associated with the specified
|
|
* (anonymous) key.
|
|
*/
|
|
String[] getPI(String key)
|
|
{
|
|
return (String[]) pis.get(key);
|
|
}
|
|
|
|
/**
|
|
* Returns an iterator over the keys of the markup entries in this DTD,
|
|
* in the order declared.
|
|
*/
|
|
Iterator entryIterator()
|
|
{
|
|
return entries.iterator();
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* Combination of an ExternalID and an optional NDataDecl.
|
|
*/
|
|
class ExternalIds
|
|
{
|
|
|
|
/**
|
|
* The public ID.
|
|
*/
|
|
String publicId;
|
|
|
|
/**
|
|
* The system ID.
|
|
*/
|
|
String systemId;
|
|
|
|
/**
|
|
* The notation name declared with the NDATA keyword.
|
|
*/
|
|
String notationName;
|
|
}
|
|
|
|
/**
|
|
* A content model.
|
|
*/
|
|
abstract class ContentModel
|
|
{
|
|
static final int EMPTY = 0;
|
|
static final int ANY = 1;
|
|
static final int ELEMENT = 2;
|
|
static final int MIXED = 3;
|
|
|
|
int min;
|
|
int max;
|
|
final int type;
|
|
String text;
|
|
boolean external;
|
|
|
|
ContentModel(int type)
|
|
{
|
|
this.type = type;
|
|
min = 1;
|
|
max = 1;
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* The EMPTY content model.
|
|
*/
|
|
class EmptyContentModel
|
|
extends ContentModel
|
|
{
|
|
|
|
EmptyContentModel()
|
|
{
|
|
super(ContentModel.EMPTY);
|
|
min = 0;
|
|
max = 0;
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* The ANY content model.
|
|
*/
|
|
class AnyContentModel
|
|
extends ContentModel
|
|
{
|
|
|
|
AnyContentModel()
|
|
{
|
|
super(ContentModel.ANY);
|
|
min = 0;
|
|
max = -1;
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* An element content model.
|
|
*/
|
|
class ElementContentModel
|
|
extends ContentModel
|
|
{
|
|
|
|
LinkedList contentParticles;
|
|
boolean or;
|
|
String regex; // regular expression cache
|
|
|
|
ElementContentModel()
|
|
{
|
|
super(ContentModel.ELEMENT);
|
|
contentParticles = new LinkedList();
|
|
}
|
|
|
|
void addContentParticle(ContentParticle cp)
|
|
{
|
|
contentParticles.add(cp);
|
|
}
|
|
|
|
}
|
|
|
|
class ContentParticle
|
|
{
|
|
|
|
int min = 1;
|
|
int max = 1;
|
|
Object content; // Name (String) or ElementContentModel
|
|
|
|
}
|
|
|
|
/**
|
|
* A mixed content model.
|
|
*/
|
|
class MixedContentModel
|
|
extends ContentModel
|
|
{
|
|
|
|
private HashSet names;
|
|
|
|
MixedContentModel()
|
|
{
|
|
super(ContentModel.MIXED);
|
|
names = new HashSet();
|
|
}
|
|
|
|
void addName(String name)
|
|
{
|
|
names.add(name);
|
|
}
|
|
|
|
boolean containsName(String name)
|
|
{
|
|
return names.contains(name);
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* An attribute definition.
|
|
*/
|
|
class AttributeDecl
|
|
{
|
|
|
|
/**
|
|
* The attribute type (CDATA, ID, etc).
|
|
*/
|
|
final String type;
|
|
|
|
/**
|
|
* The default value.
|
|
*/
|
|
final String value;
|
|
|
|
/**
|
|
* The value type (#FIXED, #IMPLIED, etc).
|
|
*/
|
|
final int valueType;
|
|
|
|
/**
|
|
* The enumeration text.
|
|
*/
|
|
final String enumeration;
|
|
|
|
/**
|
|
* The enumeration tokens.
|
|
*/
|
|
final HashSet values;
|
|
|
|
/**
|
|
* Whether this attribute declaration occurred in the external subset.
|
|
*/
|
|
final boolean external;
|
|
|
|
AttributeDecl(String type, String value,
|
|
int valueType, String enumeration,
|
|
HashSet values, boolean external)
|
|
{
|
|
this.type = type;
|
|
this.value = value;
|
|
this.valueType = valueType;
|
|
this.enumeration = enumeration;
|
|
this.values = values;
|
|
this.external = external;
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* An XML input source.
|
|
*/
|
|
static class Input
|
|
implements Location
|
|
{
|
|
|
|
int line = 1, markLine;
|
|
int column, markColumn;
|
|
int offset, markOffset;
|
|
final String publicId, systemId, name;
|
|
final boolean report; // report start- and end-entity
|
|
final boolean normalize; // normalize CR, etc to LF
|
|
|
|
InputStream in;
|
|
Reader reader;
|
|
UnicodeReader unicodeReader;
|
|
boolean initialized;
|
|
boolean encodingDetected;
|
|
String inputEncoding;
|
|
boolean xml11;
|
|
|
|
Input(InputStream in, Reader reader, String publicId, String systemId,
|
|
String name, String inputEncoding, boolean report,
|
|
boolean normalize)
|
|
{
|
|
if (inputEncoding == null)
|
|
inputEncoding = "UTF-8";
|
|
this.inputEncoding = inputEncoding;
|
|
this.publicId = publicId;
|
|
this.systemId = systemId;
|
|
this.name = name;
|
|
this.report = report;
|
|
this.normalize = normalize;
|
|
if (in != null)
|
|
{
|
|
if (reader != null)
|
|
throw new IllegalStateException("both byte and char streams "+
|
|
"specified");
|
|
if (normalize)
|
|
in = new CRLFInputStream(in);
|
|
in = new BufferedInputStream(in);
|
|
this.in = in;
|
|
}
|
|
else
|
|
{
|
|
this.reader = normalize ? new CRLFReader(reader) : reader;
|
|
unicodeReader = new UnicodeReader(this.reader);
|
|
}
|
|
initialized = false;
|
|
}
|
|
|
|
// -- Location --
|
|
|
|
public int getCharacterOffset()
|
|
{
|
|
return offset;
|
|
}
|
|
|
|
public int getColumnNumber()
|
|
{
|
|
return column;
|
|
}
|
|
|
|
public int getLineNumber()
|
|
{
|
|
return line;
|
|
}
|
|
|
|
public String getPublicId()
|
|
{
|
|
return publicId;
|
|
}
|
|
|
|
public String getSystemId()
|
|
{
|
|
return systemId;
|
|
}
|
|
|
|
void init()
|
|
throws IOException
|
|
{
|
|
if (initialized)
|
|
return;
|
|
if (in != null)
|
|
detectEncoding();
|
|
initialized = true;
|
|
}
|
|
|
|
void mark(int len)
|
|
throws IOException
|
|
{
|
|
markOffset = offset;
|
|
markLine = line;
|
|
markColumn = column;
|
|
if (unicodeReader != null)
|
|
unicodeReader.mark(len);
|
|
else
|
|
in.mark(len);
|
|
}
|
|
|
|
/**
|
|
* Character read.
|
|
*/
|
|
int read()
|
|
throws IOException
|
|
{
|
|
offset++;
|
|
int ret = (unicodeReader != null) ? unicodeReader.read() : in.read();
|
|
if (normalize &&
|
|
(ret == 0x0d || (xml11 && (ret == 0x85 || ret == 0x2028))))
|
|
{
|
|
// Normalize CR etc to LF
|
|
ret = 0x0a;
|
|
}
|
|
// Locator handling
|
|
if (ret == 0x0a)
|
|
{
|
|
line++;
|
|
column = 0;
|
|
}
|
|
else
|
|
column++;
|
|
return ret;
|
|
}
|
|
|
|
/**
|
|
* Block read.
|
|
*/
|
|
int read(int[] b, int off, int len)
|
|
throws IOException
|
|
{
|
|
int ret;
|
|
if (unicodeReader != null)
|
|
{
|
|
ret = unicodeReader.read(b, off, len);
|
|
}
|
|
else
|
|
{
|
|
byte[] b2 = new byte[len];
|
|
ret = in.read(b2, 0, len);
|
|
if (ret != -1)
|
|
{
|
|
String s = new String(b2, 0, ret, inputEncoding);
|
|
int[] c = UnicodeReader.toCodePointArray(s);
|
|
ret = c.length;
|
|
System.arraycopy(c, 0, b, off, ret);
|
|
}
|
|
}
|
|
if (ret != -1)
|
|
{
|
|
// Locator handling
|
|
for (int i = 0; i < ret; i++)
|
|
{
|
|
int c = b[off + i];
|
|
if (normalize &&
|
|
(c == 0x0d || (xml11 && (c == 0x85 || c == 0x2028))))
|
|
{
|
|
// Normalize CR etc to LF
|
|
c = 0x0a;
|
|
b[off + i] = c;
|
|
}
|
|
if (c == 0x0a)
|
|
{
|
|
line++;
|
|
column = 0;
|
|
}
|
|
else
|
|
column++;
|
|
}
|
|
}
|
|
return ret;
|
|
}
|
|
|
|
void reset()
|
|
throws IOException
|
|
{
|
|
if (unicodeReader != null)
|
|
unicodeReader.reset();
|
|
else
|
|
in.reset();
|
|
offset = markOffset;
|
|
line = markLine;
|
|
column = markColumn;
|
|
}
|
|
|
|
// Detection of input encoding
|
|
|
|
private static final int[] SIGNATURE_UCS_4_1234 =
|
|
new int[] { 0x00, 0x00, 0x00, 0x3c };
|
|
private static final int[] SIGNATURE_UCS_4_4321 =
|
|
new int[] { 0x3c, 0x00, 0x00, 0x00 };
|
|
private static final int[] SIGNATURE_UCS_4_2143 =
|
|
new int[] { 0x00, 0x00, 0x3c, 0x00 };
|
|
private static final int[] SIGNATURE_UCS_4_3412 =
|
|
new int[] { 0x00, 0x3c, 0x00, 0x00 };
|
|
private static final int[] SIGNATURE_UCS_2_12 =
|
|
new int[] { 0xfe, 0xff };
|
|
private static final int[] SIGNATURE_UCS_2_21 =
|
|
new int[] { 0xff, 0xfe };
|
|
private static final int[] SIGNATURE_UCS_2_12_NOBOM =
|
|
new int[] { 0x00, 0x3c, 0x00, 0x3f };
|
|
private static final int[] SIGNATURE_UCS_2_21_NOBOM =
|
|
new int[] { 0x3c, 0x00, 0x3f, 0x00 };
|
|
private static final int[] SIGNATURE_UTF_8 =
|
|
new int[] { 0x3c, 0x3f, 0x78, 0x6d };
|
|
private static final int[] SIGNATURE_UTF_8_BOM =
|
|
new int[] { 0xef, 0xbb, 0xbf };
|
|
|
|
/**
|
|
* Detect the input encoding.
|
|
*/
|
|
private void detectEncoding()
|
|
throws IOException
|
|
{
|
|
int[] signature = new int[4];
|
|
in.mark(4);
|
|
for (int i = 0; i < 4; i++)
|
|
signature[i] = in.read();
|
|
in.reset();
|
|
|
|
// 4-byte encodings
|
|
if (equals(SIGNATURE_UCS_4_1234, signature))
|
|
{
|
|
in.read();
|
|
in.read();
|
|
in.read();
|
|
in.read();
|
|
setInputEncoding("UTF-32BE");
|
|
encodingDetected = true;
|
|
}
|
|
else if (equals(SIGNATURE_UCS_4_4321, signature))
|
|
{
|
|
in.read();
|
|
in.read();
|
|
in.read();
|
|
in.read();
|
|
setInputEncoding("UTF-32LE");
|
|
encodingDetected = true;
|
|
}
|
|
else if (equals(SIGNATURE_UCS_4_2143, signature) ||
|
|
equals(SIGNATURE_UCS_4_3412, signature))
|
|
throw new UnsupportedEncodingException("unsupported UCS-4 byte ordering");
|
|
|
|
// 2-byte encodings
|
|
else if (equals(SIGNATURE_UCS_2_12, signature))
|
|
{
|
|
in.read();
|
|
in.read();
|
|
setInputEncoding("UTF-16BE");
|
|
encodingDetected = true;
|
|
}
|
|
else if (equals(SIGNATURE_UCS_2_21, signature))
|
|
{
|
|
in.read();
|
|
in.read();
|
|
setInputEncoding("UTF-16LE");
|
|
encodingDetected = true;
|
|
}
|
|
else if (equals(SIGNATURE_UCS_2_12_NOBOM, signature))
|
|
{
|
|
//setInputEncoding("UTF-16BE");
|
|
throw new UnsupportedEncodingException("no byte-order mark for UCS-2 entity");
|
|
}
|
|
else if (equals(SIGNATURE_UCS_2_21_NOBOM, signature))
|
|
{
|
|
//setInputEncoding("UTF-16LE");
|
|
throw new UnsupportedEncodingException("no byte-order mark for UCS-2 entity");
|
|
}
|
|
// ASCII-derived encodings
|
|
else if (equals(SIGNATURE_UTF_8, signature))
|
|
{
|
|
// UTF-8 input encoding implied, TextDecl
|
|
}
|
|
else if (equals(SIGNATURE_UTF_8_BOM, signature))
|
|
{
|
|
in.read();
|
|
in.read();
|
|
in.read();
|
|
setInputEncoding("UTF-8");
|
|
encodingDetected = true;
|
|
}
|
|
}
|
|
|
|
private static boolean equals(int[] b1, int[] b2)
|
|
{
|
|
for (int i = 0; i < b1.length; i++)
|
|
{
|
|
if (b1[i] != b2[i])
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
void setInputEncoding(String encoding)
|
|
throws IOException
|
|
{
|
|
if (encoding.equals(inputEncoding))
|
|
return;
|
|
if ("UTF-16".equalsIgnoreCase(encoding) &&
|
|
inputEncoding.startsWith("UTF-16"))
|
|
return;
|
|
if (encodingDetected)
|
|
throw new UnsupportedEncodingException("document is not in its " +
|
|
"declared encoding " +
|
|
inputEncoding +
|
|
": " + encoding);
|
|
inputEncoding = encoding;
|
|
finalizeEncoding();
|
|
}
|
|
|
|
void finalizeEncoding()
|
|
throws IOException
|
|
{
|
|
if (reader != null)
|
|
return;
|
|
reader = new BufferedReader(new InputStreamReader(in, inputEncoding));
|
|
unicodeReader = new UnicodeReader(reader);
|
|
mark(1);
|
|
}
|
|
|
|
}
|
|
|
|
}
|